From 41580b1fbb6c7116b0058118baeed1bbc9cdbfb5 Mon Sep 17 00:00:00 2001
From: Mr.Shi <1878285526@qq.com>
Date: 星期三, 16 八月 2023 18:30:38 +0800
Subject: [PATCH] h5一键报工

---
 h5_standard/src/views/workOrder/reportingForWork.vue | 1853 ++++++++++++++++++++++-------------------------------------
 1 files changed, 689 insertions(+), 1,164 deletions(-)

diff --git a/h5_standard/src/views/workOrder/reportingForWork.vue b/h5_standard/src/views/workOrder/reportingForWork.vue
index bd1cbe8..f6d30eb 100644
--- a/h5_standard/src/views/workOrder/reportingForWork.vue
+++ b/h5_standard/src/views/workOrder/reportingForWork.vue
@@ -1,42 +1,84 @@
 <template>
     <div class="bg">
-        <!--  鎶曟枡鏄庣粏/鍚堟牸浜у嚭鏄庣粏/涓嶈壇浜у嚭鏄庣粏  -->
+        <div class="bg_plan" @click="selectPlan">
+            <div class="bg_plan_label" v-if="!from.processPlan">
+                <span><b>*</b>宸ュ簭鐢熶骇璁″垝</span>
+            </div>
+            <div class="bg_plan_nr" v-else>
+                <span>{{ from.processPlan.materialName }} | {{ from.processPlan.materialCode }} | {{ from.processPlan.produceName }}</span>
+                <span>{{ from.processPlan.batch }}{{ from.processPlan.salesOrder ? ` / ${from.processPlan.salesOrder}` : '' }}</span>
+                <span>璁″垝鏃堕棿锛歿{ from.processPlan.workPlanStartDate }} ~ {{ from.processPlan.workPlanEndDate }}</span>
+                <span>璁″垝杩涘害锛歿{from.processPlan.num}}/{{from.processPlan.workorderDistributNum}}{{ from.processPlan.unitName }}</span>
+            </div>
+            <div class="bg_plan_label_val">
+                <span v-if="!from.processPlan">璇烽�夋嫨</span>
+                <img src="@/assets/icon/ic_ar@2x.png" alt="" />
+            </div>
+        </div>
         <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"></div>
-                        <span>鎶曟枡鏄庣粏</span>
-                        <!-- <span class="blue left">{{tlTotal()}}</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="" />
-                        <span>鎵嬪姩褰曞叆</span>
+                        <span>鐢熶骇淇℃伅</span>
                     </div>
                 </div>
-                <template v-if="feedingData && feedingData.length > 0">
-                    <van-swipe-cell v-for="(item, index) in feedingData" :key="index">
-                        <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>
-                                    <div class="bg_list_item_num_item_wl_lx">
-                                        <span class="green" v-if="item.qualityType == 0">鍚堟牸&nbsp;/&nbsp;</span>
-                                        <span class="yellow" v-if="item.qualityType == 1">涓嶈壇&nbsp;/&nbsp;</span>
-                                        <span class="red" v-if="item.qualityType == 2">鎶ュ簾&nbsp;/&nbsp;</span>
-                                        <span>{{ item.locationName }}</span>
-                                        <span>{{ item.batch ? `&nbsp;/&nbsp;${item.batch}` : '' }}</span>
+                <div class="bg_list_item_h">
+                    <div class="bg_list_item_num" @click="openDev">
+                        <div class="bg_list_item_num_item">
+                            <span>鐢熶骇璁惧</span>
+                            <div class="bg_list_item_num_item_sr">
+                                <span :style="{color: from.deviceName ? '#333' : ''}">{{from.deviceName ? from.deviceName : '璇烽�夋嫨'}}</span>
+                                <img src="@/assets/icon/ic_ar@2x.png" alt="" />
+                            </div>
+                        </div>
+                    </div>
+                    <div class="bg_list_item_num" @click="userShow = true">
+                        <div class="bg_list_item_num_item">
+                            <span>鐢熶骇浜哄憳</span>
+                            <div class="bg_list_item_num_item_sr">
+                                <span :style="{color: from.userName ? '#333' : ''}">{{from.userName ? from.userName : '璇烽�夋嫨'}}</span>
+                                <img src="@/assets/icon/ic_ar@2x.png" alt="" />
+                            </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"></div>
+                        <span>鐢熶骇淇℃伅</span>
+                    </div>
+                    <div class="bg_list_item_top_right" @click="openMaterial" v-if="(hasBom == 1 && bomType != 1) || hasBom == 0">
+                        <img src="@/assets/icon/gongdan_ic_shoudong@2x.png" alt="" />
+                        <span>鏂板鎶曟枡</span>
+                    </div>
+                </div>
+                <template v-if="wuList.length > 0">
+                    <van-swipe-cell v-for="(item, index) in wuList" :key="index">
+                        <div class="bg_list_item_h">
+                            <div class="bg_list_item_num">
+                                <div class="bg_list_item_num_item">
+                                    <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">鍚堟牸&nbsp;/&nbsp;</span>
+                                            <span class="yellow" v-if="item.qualityType == 1">涓嶈壇&nbsp;/&nbsp;</span>
+                                            <span class="red" v-if="item.qualityType == 2">鎶ュ簾&nbsp;/&nbsp;</span>
+                                            <span>{{ item.locationName }}&nbsp;/&nbsp;</span>
+                                            <span>{{ item.batch }}</span>
+                                        </div>
                                     </div>
-                                </div>
-                                <div class="bg_list_item_num_item_sr">
-                                    <input v-model="item.num" :disabled="!proxy.$auth('h5:workorderinput:update')" @blur="change(item.id, item.num, 'T', item.maxNum, item, item.unitAttribute)" type="number" />
-                                    <span>{{item.unitName}}</span>
+                                    <div class="bg_list_item_num_item_sr">
+                                        <input type="number" v-model="item.num" @input="inputwl(index)" />
+                                        <span>{{ item.unitName }}</span>
+                                    </div>
                                 </div>
                             </div>
                         </div>
-                        <template #right v-if="proxy.$auth('h5:workorderinput:delete')">
-                            <van-button style="height: 100%;" square text="鍒犻櫎" @click="deleItem(item.id, 'T')" type="danger" />
+                        <template #right>
+                            <van-button style="height: 100%;" @click="deleItem(index)" square text="鍒犻櫎" type="danger" />
                         </template>
                     </van-swipe-cell>
                 </template>
@@ -45,993 +87,538 @@
                         <span>鏆傛棤鏁版嵁</span>
                     </div>
                 </template>
+                <div class="kong" v-if="hasBom == 1 && bomType == 1">
+                    <span>褰撳墠宸ュ簭鏃犻渶鎶曟枡</span>
+                </div>
             </div>
-            <div class="bg_list_item">
+            <div class="bg_list_item bottomval">
                 <div class="bg_list_item_top">
                     <div class="bg_list_item_top_left">
                         <div class="bg_list_item_top_left_x"></div>
                         <span>浜у嚭鏄庣粏</span>
                     </div>
                 </div>
-                <!-- <template v-if="produceData && produceData.length > 0"> -->
-                    <!-- v-for="(item, index) in produceData" :key="index" -->
-                    <van-swipe-cell>
-                        <div class="bg_list_item_num">
-                            <div class="bg_list_item_num_item">
-                                <span>鑹搧鏁�</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="璇疯緭鍏�" />
-                                    <span v-if="info.umodel">{{info.umodel.name}}</span>
-                                </div>
+                <div class="bg_list_item_h">
+                    <div class="bg_list_item_num">
+                        <div class="bg_list_item_num_item">
+                            <span><b>*</b>鑹搧鏁�</span>
+                            <div class="bg_list_item_num_item_sr">
+                                <input type="number" v-model="from.qualified" @input="changeNum(1)" placeholder="璇疯緭鍏�" />
+                                <span>鍧�</span>
                             </div>
                         </div>
-                    </van-swipe-cell>
-                    <van-swipe-cell>
-                        <div class="bg_list_item_num">
-                            <!-- @blur="change(item.id, item.num, 'C', item.maxNum, item)" -->
-                            <div class="bg_list_item_num_item">
-                                <span>涓嶈壇鏁�</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="璇疯緭鍏�" />
-                                    <span v-if="info.umodel">{{info.umodel.name}}</span>
-                                </div>
-                            </div>
-                        </div>
-                    </van-swipe-cell>
-                    <!-- <van-swipe-cell>
-                        <div class="bg_list_item_num">
-                            <div class="bg_list_item_num_item" @click="show = true">
-                                <span>涓嶈壇椤�</span>
-                                <div class="bg_list_item_num_item_sr">
-                                    <span>璁剧疆 ></span>
-                                </div>
-                            </div>
-                        </div>
-                    </van-swipe-cell> -->
-                <!-- </template>
-                <template v-else>
-                    <div class="kong">
-                        <span>鏆傛棤鏁版嵁</span>
                     </div>
-                </template> -->
+                    <div class="bg_list_item_num">
+                        <div class="bg_list_item_num_item">
+                            <span>涓嶈壇鏁�</span>
+                            <div class="bg_list_item_num_item_sr">
+                                <input type="number" v-model="from.undesirable" @input="changeNum(2)" placeholder="璇疯緭鍏�" />
+                                <span>鍧�</span>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="bg_list_item_num" v-if="from.undesirable > 0">
+                        <div class="bg_list_item_num_item" @click="show = true">
+                            <span><b>*</b>涓嶈壇椤�</span>
+                            <div class="bg_list_item_num_item_sr">
+                                <span class="wulll" :style="{color: from.defectiveName ? '#305ED5' : ''}">{{from.defectiveName ? from.defectiveName : '璁剧疆'}}</span>
+                                <img src="@/assets/icon/ic_ar@2x.png" alt="" />
+                            </div>
+                        </div>
+                    </div>
+                </div>
             </div>
-            <!-- <div class="bg_list_item">
+            <div class="bg_plan" @click="TimeShow = true">
+                <div class="bg_plan_label">
+                    <span><b>*</b>鎶ュ伐鏃堕暱</span>
+                </div>
+                <div class="bg_plan_label_val">
+                    <span :style="{color: from.durationName ? '#333' : ''}">{{from.durationName ? from.durationName : '璇烽�夋嫨'}}</span>
+                    <img src="@/assets/icon/ic_ar@2x.png" alt="" />
+                </div>
+            </div>
+            <div class="bg_list_item" v-if="infoBox">
                 <div class="bg_list_item_top">
                     <div class="bg_list_item_top_left">
                         <div class="bg_list_item_top_left_x"></div>
-                        <span>鍚堟牸浜у嚭鏄庣粏</span>
-                        <span class="blue left">{{ccTotal()}}</span>
-                    </div>
-                    <div class="bg_list_item_top_right" @click="jumpCC" v-if="proxy.$auth('h5:workorderoutput:create')">
-                        <img src="@/assets/icon/gongdan_ic_shoudong@2x.png" alt="" />
-                        <span>鎵嬪姩褰曞叆</span>
+                        <span>宸ヨ祫缁╂晥</span>
                     </div>
                 </div>
-                <template v-if="produceData && produceData.length > 0">
-                    <van-swipe-cell v-for="(item, index) in produceData" :key="index">
-                        <div class="bg_list_item_num">
-                            <div class="bg_list_item_num_item">
-                                <span>{{item.code}}</span>
-                                <div class="bg_list_item_num_item_sr">
-                                    <input v-model="item.num" :disabled="!proxy.$auth('h5:workorderoutput:update')" @blur="change(item.id, item.num, 'C', item.maxNum, item)" type="number" />
-                                    <span>{{item.company}}</span>
-                                </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="bg_list_item_num_item_list_item active" v-if="infoBox.type == 0">璁′欢</div>
+                                <div class="bg_list_item_num_item_list_item active" v-if="infoBox.type == 1">璁℃椂</div>
                             </div>
                         </div>
-                        <template #right v-if="proxy.$auth('h5:workorderoutput:delete')">
-                            <van-button style="height: 100%;" square text="鍒犻櫎" @click="deleItem(item.id, 'C')" type="danger" />
-                        </template>
-                    </van-swipe-cell>
-                </template>
-                <template v-else>
-                    <div class="kong">
-                        <span>鏆傛棤鏁版嵁</span>
                     </div>
-                </template>
-            </div>
-
-            <div class="bg_list_item">
-                <div class="bg_list_item_top">
-                    <div class="bg_list_item_top_left">
-                        <div class="warning"></div>
-                        <span>涓嶈壇浜у嚭鏄庣粏</span>
-                        <span class="yellow left">{{blTotal()}}</span>
-                    </div>
-                </div>
-                <template v-if="undesirable && undesirable.length > 0">
-                    <van-swipe-cell v-for="(item, index) in undesirable" :key="index">
-                        <div class="bg_list_item_num">
-                            <div class="bg_list_item_num_item">
-                                <span>{{item.code}}</span>
-                                <div class="bg_list_item_num_item_sr">
-                                    <input v-model="item.num" :disabled="!proxy.$auth('h5:workorderoutput:update')" @blur="change(item.id, item.num, 'C', item.maxNum, item)" type="number" />
-                                    <span>{{item.company}}</span>
-                                </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">{{infoBox.salary}}鍏�/{{infoBox.type == 0 ? '浠�' : '鏃�'}}</span>
                             </div>
                         </div>
-                        <template #right v-if="proxy.$auth('h5:workorderoutput:delete')">
-                            <van-button style="height: 100%;" square text="鍒犻櫎" @click="deleItem(item.id, 'C')" type="danger" />
-                        </template>
-                    </van-swipe-cell>
-                </template>
-                <template v-else>
-                    <div class="kong">
-                        <span>鏆傛棤鏁版嵁</span>
                     </div>
-                </template>
-            </div>
-
-            <div class="bg_list_item">
-                <div class="bg_list_item_top">
-                    <div class="bg_list_item_top_left">
-                        <div class="error"></div>
-                        <span>鎶ュ簾浜у嚭鏄庣粏</span>
-                        <span class="red left">{{bfTotal()}}</span>
-                    </div>
-                </div>
-                <template v-if="scrap && scrap.length > 0">
-                    <van-swipe-cell v-for="(item, index) in scrap" :key="index">
-                        <div class="bg_list_item_num">
-                            <div class="bg_list_item_num_item">
-                                <span>{{item.code}}</span>
-                                <div class="bg_list_item_num_item_sr">
-                                    <input v-model="item.num" :disabled="!proxy.$auth('h5:workorderoutput:update')" @blur="change(item.id, item.num, 'C', item.maxNum, item)" type="number" />
-                                    <span>{{item.company}}</span>
-                                </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>
-                        <template #right v-if="proxy.$auth('h5:workorderoutput:delete')">
-                            <van-button style="height: 100%;" square text="鍒犻櫎" @click="deleItem(item.id, 'C')" type="danger" />
-                        </template>
-                    </van-swipe-cell>
-                </template>
-                <template v-else>
-                    <div class="kong">
-                        <span>鏆傛棤鏁版嵁</span>
                     </div>
-                </template>
-            </div> -->
-        </div>
-        <div class="details_dj">
-            <div class="details_dj_title">
-                <div class="details_dj_title_left">
-                    <div class="details_x"></div>
-                    <span>鐢熶骇鐐规</span>
-                </div>
-                <div class="details_dj_title_right" @click="jumpdj" v-if="proxy.$auth('h5:workorder:processRecord')">
-                    <img src="@/assets/icon/gongdan_ic_shoudong@2x.png" alt="" />
-                    <span>鎵嬪姩褰曞叆</span>
-                </div>
-            </div>
-            <div class="details_dj_list">
-                <van-list
-                    v-model:loading="loading"
-                    :finished="finished"
-                    finished-text="娌℃湁鏇村浜唦"
-                    @load="pageDJs">
-                    <van-swipe-cell 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 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>
-                        <template #right>
-                            <van-button square type="danger" style="height: 100%;" @click="dele(item.id)" text="鍒犻櫎" />
-                        </template>
-                    </van-swipe-cell>
-                </van-list>
+                    </div>
+                </div>
             </div>
         </div>
         <!--  鎶ュ伐鎸夐挳  -->
-        <template v-if="info.status === 2 || info.procedureNeedcheck === 1">
-            <div class="bh_zw"></div>
-            <div class="bg_footer">
-                <div class="bg_footer_submit" @click="submit">纭鎶ュ伐</div>
-            </div>
-        </template>
-        <!--  鎵爜缁勪欢  -->
-        <v-ScanCode
-            :openCode="openCode"
-            :infos="['璇锋壂鎻忓伐瑁呯爜']"
-            @closePopup="closePopup"
-            @onDecode="onDecode" />
-        <!--  鎶ュ伐缁熻鏁版嵁  -->
-        <van-popup v-model:show="statistics" round :closeable="true" position="bottom" :style="{ height: '53%' }">
-            <div class="tg">
-                <div class="tg_header">璇风‘璁ゆ姤宸ヤ俊鎭�</div>
-                <div class="tg_table">
-                    <div class="tg_table_header">
-                        <div class="tg_table_header_item">绫诲瀷</div>
-                        <div class="tg_table_header_item">鐗╂枡鍚嶇О</div>
-                        <!-- <div class="tg_table_header_item">宸ヨ鏁伴噺</div> -->
-                        <div class="tg_table_header_item">鐗╂枡鏁伴噺</div>
-                    </div>
-                    <div class="nr" v-if="statisticsData.length > 0">
-                        <div class="tg_table_nr" v-for="(item, index) in statisticsData" :key="index">
-                            <div class="tg_table_nr_item">{{item.name}}</div>
-                            <div class="tg_table_nr_item">{{item.materialName}}</div>
-                            <!-- <div class="tg_table_nr_item">{{item.gznum}}</div> -->
-                            <div class="tg_table_nr_item" :style="item.name === '宸ュ崟鏈姇鏂�' ? 'color: #DE5243' : ''">{{item.num}}</div>
-                        </div>
-                    </div>
-                    <div class="nr" v-else>
-                        <div class="tg_table_nr">
-                            <div class="tg_table_nr_item1">鏆傛棤鏁版嵁</div>
-                        </div>
-                    </div>
-                </div>
-                <div class="tg_footer">
-                    <button class="tg_footer_qr" @click="submitBG" v-if="proxy.$auth('h5:workorderoutput:confirm') && isSubmit">纭鎶ュ伐</button>
-                    <div class="tg_footer_fh" @click="gofh" v-else-if="!isSubmit">杩斿洖淇敼</div>
-                </div>
-            </div>
-        </van-popup>
+        <div class="bh_zw"></div>
+        <div class="bg_footer">
+            <div class="bg_footer_submit1">缁х画鎶ュ伐</div>
+            <div class="bg_footer_submit" @click="submit">鎻愪氦</div>
+        </div>
         <!-- 閫夋嫨涓嶈壇椤� -->
         <van-popup v-model:show="show" round position="bottom" :style="{ height: '53%' }">
             <div class="bl">
                 <div class="bl_head">
-                    <span @click="show = false">鍙栨秷</span>
+                    <img src="@/assets/icon/ic_close@2x.png" style="opacity: 0;" alt="" />
                     <span>涓嶈壇椤�</span>
-                    <span>纭</span>
+                    <!-- <span>纭</span> -->
+                    <img src="@/assets/icon/ic_close@2x.png" @click="show = false" alt="" />
                 </div>
                 <div class="bl_list">
-                    <div class="bl_list_item" v-for="(item, i) in 12" :key="i">
+                    <div class="bl_list_item" v-for="(item, i) in cateList" :key="i" @click="changeChecked(i)">
                         <div class="bl_list_item_left">
-                            <input type="checkbox" :checked="true" name="" id="" />
-                            <span>鏈夊垝鐥�</span>
+                            <input type="checkbox" :checked="item.active" />
+                            <span>{{ item.name }}</span>
                         </div>
                         <div class="bl_list_item_right">
-                            <input type="number" placeholder="璇疯緭鍏�" />
+                            <input type="number" @click.stop v-model="item.num" placeholder="0" />
                         </div>
                     </div>
                 </div>
+                <div class="bl_footer" @click="onConfirm3">纭</div>
             </div>
+        </van-popup>
+        <!--  鍏ュ簱鐗╂枡  -->
+        <MaterialY :show="show1" :plansId="String(plansId)" :ids="ids" :deviceId="String(deviceId)" @close="close" @value="getValue" />
+        <!-- 璁惧 -->
+        <van-popup v-model:show="deviceShow" round position="bottom" :style="{ height: '50%' }">
+            <van-picker
+                :columns="deviceList"
+                @confirm="onConfirm"
+                @cancel="onCancel"
+                :columns-field-names="customFieldName"
+            />
+        </van-popup>
+        <!-- 浜哄憳 -->
+        <user :show="userShow" @close="onCancel1" @value="onConfirm1" />
+        <!-- 鏃堕棿 -->
+        <van-popup v-model:show="TimeShow" round position="bottom" :style="{ height: '50%' }">
+            <van-datetime-picker
+                v-model="from.time"
+                type="time"
+                title="閫夋嫨鏃堕棿"
+                @confirm="onConfirm2"
+                @cancel="onCancel2"
+            />
         </van-popup>
     </div>
 </template>
 
 <script setup lang="ts">
-    import { getCurrentInstance, nextTick, onMounted, ref, reactive } from 'vue'
-    import { useRouter, useRoute } from "vue-router"
-    import { Dialog, Toast } from 'vant'
-    import { REGULAR } from '@/utils/utils'
-    import {
-        getBarcodeContent,
-        queryById,
-        getOrocessRecord,
-        deleteCT,
-        updateById,
-        comfirmDone,
-        comfirmDoneStandard,
-        getListByCondition,
-        allForStandard,
-        pageDJ,
-        deletedj,
-        dealWorkorderRecordStandard,
-        getWorkorderRecordListStandard
-    } from '@/apis/WorkOrderAPI'
-    import { QRCodeType } from '@/enum'
-    const { proxy }: any = getCurrentInstance()
-    import VWorkOrderInfo from '@/components/common/WorkOrderInfo.vue'
+    import { onMounted, ref, reactive, getCurrentInstance, computed } from 'vue'
+    import { useRouter } from 'vue-router'
+    import { getDeviceByCondition, getFindAll, queryOne, autoWorkReport, getIdPlansExt, categoryExtList } from '@/apis/PlanningAPI'
+    import MaterialY from '@/components/newCom/MaterialY.vue'
+    import user from '@/components/newCom/user.vue'
+    import { Toast } from 'vant'
 
+    const {$Bus} = getCurrentInstance().appContext.config.globalProperties 
     const router = useRouter()
-    const route = useRoute()
-
-    const loading = ref(false);
-    const finished = ref(false);
     let show = ref(false)
-    // 鐐规鏁版嵁
-    let djData: any = ref([])
-    // 鍒嗛〉鏌ヨ鏁版嵁
-    let page = reactive({
-        capacity: 10,
-        page: 0
+    let show1 = ref(false)
+    let TimeShow = ref(false)
+    let deviceId = ref('')
+    let plansId = ref('')
+    let ids = ref('')
+    let total: any = ref('')    // 鍙姇鏁伴噺
+
+    let from: any = reactive({
+        processPlan: null,
+        deviceId: '',
+        deviceName: '',
+        userId: '',
+        userName: '',
+        qualified: '',  // 鑹搧鏁�
+        undesirable: '', // 涓嶈壇鏁�
+        duration: '',
+        durationName: '',
+        time: '',
+        defective: [],
+        defectiveName: ''
     })
 
-    // 浜у嚭鍚堟牸/涓嶈壇
-    let produceFrom = reactive({
-        qualifiedId: '',
-        qualified: '',  // 鍚堟牸
-        undesirableId: '',
-        undesirable: '' // 涓嶈壇
-    })
+    let infoBox: any = ref(null)     // 宸ヨ祫缁╂晥
 
-    // 璇︽儏鏁版嵁
-    const info: any = ref({})
+    let bomType: any = ref('')
+    let hasBom: any = ref('')
+    let deviceShow = ref(false)
+    let deviceList = ref([])
+    let cateList:any = ref([])
+    const customFieldName = {
+        text: 'name'
+    };
+    let userShow = ref(false)
+    let userList = ref([])
+    let wuList: any = ref([])
 
-    // 鍒ゆ柇鏄惁鑳芥彁浜�
-    let isSubmit: any = ref<boolean>(false)
-
-    // 涓嶈壇鏄庣粏
-    let undesirable: any = ref([])
-
-    // 鎶ュ簾鏄庣粏
-    let scrap: any = ref([])
-
-    // 鎵爜绫诲瀷
-    let type: any = ref('')
-
-    // 缁熻鏁版嵁
-    let statisticsData: any = ref([
-        // {
-        //     name: '宸ュ崟鎶曟枡',
-        //     materialName: '榛勬矙',
-        //     num: 0
-        // },
-        // {
-        //     name: '宸ュ崟鍚堟牸浜у嚭',
-        //     materialName: '榛勬矙',
-        //     num: 0
-        // },
-        // {
-        //     name: '宸ュ崟涓嶈壇浜у嚭',
-        //     materialName: '榛勬矙',
-        //     num: 0
-        // },
-        // {
-        //     name: '宸ュ崟鏈姇鏂�',
-        //     materialName: '榛勬矙',
-        //     num: 0
-        // }
-    ])
-
-    // 鎶曟枡鏁版嵁
-    const feedingData: any = ref([])
-
-    // 浜у嚭鏁版嵁
-    const produceData: any = ref([])
-
-    // 鎺у埗鎵爜鏄剧ず闅愯棌
-    const openCode = ref<boolean>(false)
-
-    // 鎺у埗鎶ュ伐缁熻
-    const statistics = ref<boolean>(false)
-
-    // 鎶曟枡缁熻
-    const tlTotal = (): string => {
-        if (feedingData.value.length > 0) {
-            let total: number = 0
-            feedingData.value.forEach((element: any) => {
-                total = total + element.num
-            })
-            return `${total}`
+    // 浜у嚭鏁伴噺楠岃瘉
+    const changeNum = (type: number) => {
+        let num = total.value - (Number(from.qualified) + Number(from.undesirable))
+        if (type == 2) {
+            from.defective = []
+            from.defectiveName = ''
         }
-        return ''
-    }
-
-    // 淇敼浜у嚭
-    const changeCC = (downType: string, num: number, recordId: string) => {
-        if (!num) return
-        console.log(produceFrom.qualified + produceFrom.undesirable)
-        if ((produceFrom.qualified + produceFrom.undesirable) > info.value.planNum) {
-            return Toast.fail({ message: '浜у嚭鏁伴噺涓嶈兘澶т簬璁″垝鏁伴噺', duration: 2000 })
-        }
-        if (num >= 0) {
-            dealWorkorderRecordStandard({
-                downType, num, recordId, workorderId: route.query.id
-            }).then(res => {
-                if (res.code === 200) {
-                    getOrocessRecordCC()
-                }
-            })
-        } else {
-            if (downType == 0) {
-                produceFrom.qualified = 0
+        if (num < 0) {
+            Toast('浜у嚭鏁伴噺涓嶈兘澶т簬鍙骇鍑烘暟閲忥紒')
+            if (type == 1) {
+                from.qualified = ''
             } else {
-                produceFrom.undesirable = 0
+                from.undesirable = ''
             }
-            Toast.fail({ message: '浜у嚭鏁伴噺涓嶈兘灏忎簬0', duration: 2000 })
         }
     }
 
-    // 璺宠浆鐐规
-    const jumpdj = () => {
-        router.push({ name: 'spotCheck', query: { id: route.query.id } })
-    }
-
-    // 鍒犻櫎鐐规
-    const dele = (id: string | number): void => {
-        deletedj(id)
-            .then(res => {
-                if (res.code === 200) {
-                    djData.value = []
-                    finished.value = false
-                    page.page = 0
-                    pageDJs()
-                }
-            })
-    }
-
-    // 鐐规鏁版嵁
-    const pageDJs = () => {
-        if (!finished.value) {
-            page.page = page.page + 1
-            loading.value = true
-            pageDJ({
-                capacity: page.capacity,
-                page: page.page,
-                model: {
-                    workorderId: route.query.id
-                }
-            }).then(res => {
-                if (res.code === 200 && res.data && res.data.records.length !== 0) {
-                    djData.value.push(...res.data.records)
-                } else {
-                    finished.value = true
-                }
-                loading.value = false
-            }).catch(err => {
-                loading.value = false
-                finished.value = true
-            })
+    // 楠岃瘉鐗╂枡鏁伴噺
+    const inputwl = (i: number) => {
+        if (wuList.value[i].num > wuList.value[i].total) {
+            wuList.value[i].num = ''
+            Toast('鎶曟枡鏁伴噺涓嶈兘澶т簬搴撳瓨鏁伴噺')
         }
     }
 
-    // 缁熻
-    const ccTotal = (): string => {
-        if (produceData.value.length > 0) {
-            let total: number = 0
-            produceData.value.forEach((element: any) => {
-                total = total + element.num
-            })
-            return `${total}${produceData.value[0].company}`
-        }
-        return ''
+    const changeChecked = (i: number) => {
+        cateList.value[i].active = !cateList.value[i].active
     }
 
-    // 缁熻
-    const blTotal = (): string => {
-        if (undesirable.value.length > 0) {
-            let total: number = 0
-            undesirable.value.forEach((element: any) => {
-                total = total + element.num
-            })
-            return `${total}${undesirable.value[0].company}`
-        }
-        return ''
-    }
-
-    // 缁熻
-    const bfTotal = (): string => {
-        if (scrap.value.length > 0) {
-            let total: number = 0
-            scrap.value.forEach((element: any) => {
-                total = total + element.num
-            })
-            return `${total}${scrap.value[0].company}`
-        }
-        return ''
-    }
-
-    // 鍒犻櫎浜у嚭/鎶曟枡
-    const deleItem = (id: any, type: string) => {
-        Dialog.confirm({
-            title: '鎻愮ず',
-            message: '纭畾鍒犻櫎姝ゆ潯璁板綍鍚楋紵',
-        }).then(() => {
-            deleteCT(id)
-                .then(res => {
-                    if (res.code === 200 && type === 'C') {
-                        getOrocessRecordCC()
-                    } else if (res.code === 200 && type === 'T') {
-                        getOrocessRecords()
-                    }
-                })
-        }).catch(() => {
-            // on cancel
+    const onConfirm3 = () => {
+        let isOpen = false
+        cateList.value.forEach((item: any, index: number) => {
+            if (item.active) {
+                isOpen = true
+            }
         })
-    }
-
-    // 璺宠浆鎵嬪姩浜у嚭
-    const jumpCC = () => {
-        router.push({ name: 'manualOutput', query: { id: route.query.id, num: produceData.value.length > 0 ? produceData.value[0].num : '' } })
-    }
-
-    // 璺宠浆鎵嬪姩鎶曟枡
-    const jumpTL = () => {
-        router.push({ name: 'manualFeeding', query: { id: route.query.id } })
-    }
-
-    // 鍏抽棴鎵爜缁勪欢
-    const closePopup = (): void => {
-        openCode.value = false
-    }
-
-    // 鑾峰彇鎵爜鍊�
-    const onDecode = (data: string[]): void => {
-        getBarcodeContent({
-            barcode: data[0]
-        }).then(res => {
-            if (res.code === 200) {
-                if (res.data.barcodeType === QRCodeType.GZ) {
-                    if (type.value === 'tl') {    // 鎶曟枡鎿嶄綔
-                        getListByCondition({ id: res.data.id })
-                            .then(gz => {
-                                if (gz.code === 200) {
-                                    if (gz.data[0].status !== 1) {
-                                        router.push({ name: 'codeScanningFeeding', query: { id: route.query.id, gzId: res.data.id } })
-                                    } else {
-                                        Toast.fail({ message: '鎵弿鐨勫伐瑁呯姸鎬佷笉鑳戒负绌�', duration: 2000 })
-                                    }
-                                }
-                            })
-                    }
-                    if (type.value === 'cc') {    // 浜у嚭鎿嶄綔
-                        router.push({ name: 'codeScanningOutput', query: { id: route.query.id, gzId: res.data.id } })
-                    }
-                } else {
-                    Toast({ message: '璇锋壂鎻忔纭殑绡瓙鐮�', duration: 2000 })
+        if (!isOpen) return Toast('璇烽�夋嫨涓嶈壇椤�')
+        let arr: any = []
+        let total: any = 0
+        let name: any = ''
+        cateList.value.forEach((item: any, index: number) => {
+            if (item.active) {
+                if (item.num <= 0) {
+                    return Toast('涓嶈壇鏁伴噺蹇呴』澶т簬0')
                 }
+                total = total += item.num
+                arr.push(item)
+                name += item.name + item.num + '锛�'
             }
         })
-        nextTick(() => {
-            openCode.value = false
-        })
+        if (total !== from.undesirable) return Toast('涓嶈壇鏁板繀椤荤瓑浜庝骇鍑轰笉鑹暟')
+        from.defective = arr
+        from.defectiveName = name
+        show.value = false
     }
 
-    // 璺宠浆鎵嬪姩鎶曟枡
-    const jump = () => {
-        router.push({ name: 'manualFeeding', query: { id: route.query.id } })
-    }
-
-    // 璺宠浆鎵爜鎶曟枡
-    const jump1 = (types: string) => {
-        type.value = types
-        openCode.value = true
-    }
-
-    // 鏌ヨ宸ュ崟璇︽儏
-    const queryByIds = () => {
-        queryById(route.query.id).then(res => {
-            if (res.code === 200) {
-                info.value = res.data
-            }
-        })
-    }
-
-    // 鏌ヨ宸ュ崟鐢熶骇璁板綍---鎶曟枡
-    const getOrocessRecords = () => {
-        feedingData.value = []
-        allForStandard({
-            workorderId: route.query.id,
-            type: 0
-        }).then(res => {
-            if (res.code === 200) {
-                feedingData.value = res.data
-                // res.data.forEach((item: any) => {
-                //     feedingData.value.push({ id: item.id, company: item.umodel.name, gz: item.amodel.code, name: item.mmodel.name, code: item.amodel.code + ' - ' + item.mmodel.name, num: item.num, ynum: item.num, maxNum: item.amodel.num })
-                // })
-            }
-        })
-    }
-
-    // 鏌ヨ宸ュ崟鐢熶骇璁板綍---浜у嚭
-    const getOrocessRecordCC = () => {
-        produceData.value = []
-        undesirable.value = []
-        scrap.value = []
-        getWorkorderRecordListStandard({
-            workorderId: route.query.id
-        }).then(res => {
-            if (res.code === 200) {
-                if (res.data.length > 0) {
-                    res.data.forEach((item: any) => {
-                        if (item.doneType === 1) {
-                            produceFrom.undesirable = item.num
-                            produceFrom.undesirableId = item.id
-                        } else {
-                            produceFrom.qualified = item.num
-                            produceFrom.qualifiedId = item.id
-                        }
-                    })
-                }
-                // res.data.forEach((item: any) => {
-                //     if (item.doneType === 0 || !item.doneType) { // 鍚堟牸 | 娣峰悎
-
-                //         produceData.value.push({ id: item.id, company: item.umodel.name, name: item.mmodel.name, code: item.amodel.code + ' - ' + item.mmodel.name, num: item.num, ynum: item.num, maxNum: item.amodel.num })
-                //     } else if (item.doneType === 1) { // 涓嶈壇
-                //         undesirable.value.push({ id: item.id, company: item.umodel.name, name: item.mmodel.name, code: item.amodel.code + ' - ' + item.mmodel.name, num: item.num, ynum: item.num, maxNum: item.amodel.num })
-                //     } else if (item.doneType === 2) { // 鎶ュ簾
-                //         scrap.value.push({ id: item.id, company: item.umodel.name, name: item.mmodel.name, code: item.amodel.code + ' - ' + item.mmodel.name, num: item.num, ynum: item.num, maxNum: item.amodel.num })
-                //     }
-                // })
-            }
-        })
-    }
-
-    // 缂栬緫鎶曟枡/浜у嚭
-    const change = (id: any, num: any, type: any, maxNum: number, item: object, unitAttribute: number): void => {
-        let obj: any = item
-        if (type === 'T') {
-            if (unitAttribute == 0 && num != '') {
-                if(!REGULAR.positiveInteger.test(num)){
-                    obj.num = obj.ynum
-                    Toast({ message: '鍙兘杈撳叆姝f暣鏁�' })
-                    return
-                }
-            }
-            if (unitAttribute == 1 && num != '') {
-                if(!REGULAR.number.test(num)){
-                    Toast({ message: '鍙兘杈撳叆姝f暣鏁版垨灏忔暟锛堟渶澶氬洓浣嶏級' })
-                    obj.num = obj.ynum
-                    return
-                }
-            }
-            if (num > maxNum) {
-                obj.num = obj.ynum
-                Toast.fail({ message: '瓒呭嚭宸ヨ鎬绘暟' })
-                return
-            }
-        } else if (type === 'C' && num > info.value.planNum) {
-            obj.num = obj.ynum
-            Toast.fail({ message: '浜у嚭鏁伴噺涓嶈兘瓒呰繃璁″垝鏁伴噺' })
-            return
-        }
-        updateById({ id: id, num: num }).then(res => {
-            if (res.code === 200 && type === 'T') {
-                getOrocessRecords()
-            } else if (res.code === 200 && type === 'C') {
-                getOrocessRecordCC()
-            }
-        })
-    }
-
-    // 纭鎶ュ伐
     const submit = () => {
-        if (info.value.bomType === 1) {  // 鎷夊紡
-            console.log('鎷夊紡')
-            statisticsData.value = []
-            if (info.value.hasBom === 0) {
-                console.log('鏃燽om')
-                // let data: any = [
-                //     { name: '宸ュ崟鎶曟枡', gznum: feedingData.value.length, wlmc: feedingData.value.length > 0 ? feedingData.value[0].name : '', wlnum: 0 },
-                //     { name: '宸ュ崟鍚堟牸浜у嚭', gznum: produceData.value.length, wlmc: produceData.value.length > 0 ? produceData.value[0].name : '', wlnum: 0 },
-                //     { name: '宸ュ崟涓嶈壇浜у嚭', gznum: 0, wlmc: '', wlnum: 0 },
-                //     { name: '宸ュ崟鏈姇鏂�', gznum: '', wlmc: feedingData.value.length > 0 ? feedingData.value[0].name : '', wlnum: 0 }
-                // ]
-                // if (undesirable.value.length > 0) {   // 鍒ゆ柇鏈夋病鏈変笉鑹�
-                //     data[2].wlmc = undesirable.value[0].name
-                //     data[2].gznum = data[2].gznum + undesirable.value.length
-                // }
-                // if (scrap.value.length > 0) {   // 鍒ゆ柇鏈夋病鏈変笉鑹�
-                //     data[2].wlmc = scrap.value[0].name
-                //     data[2].gznum = data[2].gznum + scrap.value.length
-                // }
-                // let tl: number = 0
-                // let cc: number = 0
-                // let bl: number = 0
-                // undesirable.value.forEach((item: any) => {  // 涓嶈壇
-                //     bl = bl + item.num
-                // })
-                // scrap.value.forEach((item: any) => {  // 鎶ュ簾
-                //     bl = bl + item.num
-                // })
-                // if (produceData.value.length > 0) {   // 鍒ゆ柇鏈夋病鏈夊悎鏍间骇鍑�
-                //     produceData.value.forEach((item: any) => {  // 浜у嚭
-                //         cc = cc + item.num
-                //     })
-                // }
-                // feedingData.value.forEach((item: any) => {  // 鎶曟枡
-                //     tl = tl + item.num
-                // })
-                // data[0].wlnum = tl.toString() + info.value.umodel.name
-                // if (produceData.value.length > 0) {
-                //     data[1].wlnum = cc.toString() + info.value.umodel.name
-                // }
-                // data[2].wlnum = bl.toString() + info.value.umodel.name
-                // let total: number = info.value.planNum - (Number(cc) + Number(bl))
-                // data[data.length - 1].wlnum = (info.value.planNum - Number(cc) - Number(bl)).toString() + info.value.umodel.name
-                // if (total === 0) {
-                //     isSubmit.value = true
-                // } else {
-                //     isSubmit.value = false
-                // }
-
-                let arr: any = []
-                let tl = 0
-                let res = getGroupNum(feedingData.value)
-                for (let i in res) {
-                    let num = 0
-                    res[i].forEach((item: any) => {
-                        num += item.num
-                    })
-                    arr.push({ name: '宸ュ崟鎶曟枡', materialName: i + res[i][0].procedureName, num: num })
-                }
-                feedingData.value.forEach((item: any) => {
-                    tl += item.num
-                })
-                statisticsData.value = [...statisticsData.value, ...arr]
-                statisticsData.value.push({ name: '宸ュ崟鍚堟牸浜у嚭', materialName:  info.value.mmodel.name + '-' + info.value.procedureName, num: produceFrom.qualified })
-                statisticsData.value.push({ name: '宸ュ崟涓嶈壇浜у嚭', materialName:  info.value.mmodel.name + '-' + info.value.procedureName, num: produceFrom.undesirable })
-                statisticsData.value.push({ name: '宸ュ崟鏈姇鏂�', materialName: '', num: info.value.planNum - Number(produceFrom.qualified) - Number(produceFrom.undesirable) })
-                let total: number = info.value.planNum - (Number(produceFrom.qualified) + Number(produceFrom.undesirable))
-                if (total === 0) {
-                    isSubmit.value = true
-                } else {
-                    isSubmit.value = false
-                }
-                // if (Number(tl) <= info.value.planNum) {
-                //   let total: number = Number(tl) - Number(cc) - Number(bl)  // 鏄惁鏈変綑
-                //   data[data.length - 1].wlnum = (Number(tl) - Number(cc) - Number(bl)).toString() + info.value.umodel.name
-                //   if (total === 0) {
-                //     isSubmit.value = true
-                //   } else {
-                //     isSubmit.value = false
-                //   }
-                // } else {
-                //   isSubmit.value = false
-                // }
-                // statisticsData.value = data
-            } else if (info.value.hasBom === 1) {  // 鏈塨om鎯呭喌
-                console.log('鏈塨om')
-                // let cc: number = 0
-                // let bl: number = 0
-                // let newData: any = {}
-                // if (feedingData.value.length > 0) {  // 鎶曟枡
-                //     feedingData.value.forEach((e: any) => {
-                //         if (Object.keys(newData).indexOf('' + e.name) === -1) {
-                //             newData[e.name] = []
-                //         }
-                //         newData[e.name].push(e)
-                //     })
-                //     for (let key in newData) {
-                //         let obj = { name: '宸ュ崟鎶曟枡', gznum: newData[key].length, wlmc: key, wlnum: 0, num: 0 }
-                //         newData[key].forEach((item: any) => {
-                //             obj.wlnum = obj.wlnum + item.num
-                //             obj.num = item.num
-                //         })
-                //         obj.wlnum = obj.wlnum.toString() + newData[key][0].company as never
-                //         statisticsData.value.push(obj)
-                //     }
-                // }
-                // if (produceData.value.length > 0) {  // 浜у嚭
-                //     produceData.value.forEach((item: any) => {
-                //         cc = cc + item.num
-                //     })
-                //     statisticsData.value.push({ name: '宸ュ崟鍚堟牸浜у嚭', gznum: produceData.value.length, wlmc: info.value.mmodel.name, wlnum: cc + info.value.umodel.name, num: cc })
-                // }
-                // if (undesirable.value.length > 0 || scrap.value.length > 0) {  // 涓嶈壇/鎶ュ簾
-                //     undesirable.value.forEach((item: any) => {
-                //         bl = bl + item.num
-                //     })
-                //     scrap.value.forEach((item: any) => {
-                //         bl = bl + item.num
-                //     })
-                //     statisticsData.value.push({ name: '宸ュ崟涓嶈壇浜у嚭', gznum: undesirable.value.length + scrap.value.length, wlmc: info.value.mmodel.name, wlnum: bl + info.value.umodel.name, num: bl })
-                // }
-                // let totaltl: number = 0
-                // let totalcc: number = 0
-                // let totalbl: number = 0
-                // statisticsData.value.forEach((item: any) => {
-                //     if (item.name === '宸ュ崟鎶曟枡') {
-                //         totaltl = totaltl + item.num
-                //     } else if (item.name === '宸ュ崟鍚堟牸浜у嚭') {
-                //         totalcc = totalcc + item.num
-                //     } else if (item.name === '宸ュ崟涓嶈壇浜у嚭') {
-                //         totalbl = totalbl + item.num
-                //     }
-                // })
-                // isSubmit.value = totalcc + totalbl <= info.value.planNum;
-                let arr: any = []
-                let tl = 0
-                let res = getGroupNum(feedingData.value)
-                for (let i in res) {
-                    let num = 0
-                    res[i].forEach((item: any) => {
-                        num += item.num
-                    })
-                    arr.push({ name: '宸ュ崟鎶曟枡', materialName: i, num: num })
-                }
-                feedingData.value.forEach((item:any) => {
-                    tl += item.num
-                })
-                statisticsData.value = [...statisticsData.value, ...arr]
-                statisticsData.value.push({ name: '宸ュ崟鍚堟牸浜у嚭', materialName:  info.value.mmodel.name + '-' + info.value.procedureName, num: produceFrom.qualified })
-                statisticsData.value.push({ name: '宸ュ崟涓嶈壇浜у嚭', materialName:  info.value.mmodel.name + '-' + info.value.procedureName, num: produceFrom.undesirable })
-                isSubmit.value = produceFrom.qualified + produceFrom.undesirable <= info.value.planNum;
-            }
+        if (!from.processPlan) return Toast('璁″垝涓嶈兘涓虹┖')
+        if (!from.deviceId) return Toast('璁惧涓嶈兘涓虹┖')
+        if (!from.userId) return Toast('鐢熶骇浜哄憳涓嶈兘涓虹┖')
+        if (hasBom.value == 1 && bomType.value == 1) {
+            console.log('涓嶉渶瑕佹姇鏂�')
         } else {
-            console.log('鎺ㄥ紡')
-            if (feedingData.value.length === 0) {
-                Toast.fail({ message: '鎶曟枡鏄庣粏涓嶈兘涓虹┖' })
-                return
-            }
-            statisticsData.value = []
-            if (info.value.hasBom === 0) {
-                console.log('鏃燽om')
-                // let data: any = [
-                //     { name: '宸ュ崟鎶曟枡', gznum: feedingData.value.length, wlmc: feedingData.value.length > 0 ? feedingData.value[0].name : '', wlnum: 0 },
-                //     { name: '宸ュ崟鍚堟牸浜у嚭', gznum: produceData.value.length, wlmc: produceData.value.length > 0 ? produceData.value[0].name : '', wlnum: 0 },
-                //     { name: '宸ュ崟涓嶈壇浜у嚭', gznum: 0, wlmc: '', wlnum: 0 },
-                //     { name: '宸ュ崟鏈姇鏂�', gznum: '', wlmc: feedingData.value.length > 0 ? feedingData.value[0].name : '', wlnum: 0 }
-                // ]
-                // if (undesirable.value.length > 0) {   // 鍒ゆ柇鏈夋病鏈変笉鑹�
-                //     data[2].wlmc = undesirable.value[0].name
-                //     data[2].gznum = data[2].gznum + undesirable.value.length
-                // }
-                // if (scrap.value.length > 0) {   // 鍒ゆ柇鏈夋病鏈変笉鑹�
-                //     data[2].wlmc = scrap.value[0].name
-                //     data[2].gznum = data[2].gznum + scrap.value.length
-                // }
-                // let tl = 0
-                // let cc = 0
-                // let bl = 0
-                // undesirable.value.forEach((item: any) => {  // 涓嶈壇
-                //     bl = bl + item.num
-                // })
-                // scrap.value.forEach((item: any) => {  // 鎶ュ簾
-                //     bl = bl + item.num
-                // })
-                // if (produceData.value.length > 0) {   // 鍒ゆ柇鏈夋病鏈夊悎鏍间骇鍑�
-                //     produceData.value.forEach((item: any) => {  // 浜у嚭
-                //         cc = cc + item.num
-                //     })
-                // }
-                // feedingData.value.forEach((item: any) => {  // 鎶曟枡
-                //     tl = tl + item.num
-                // })
-                // data[0].wlnum = tl.toString() + info.value.umodel.name
-                // if (produceData.value.length > 0) {
-                //     data[1].wlnum = cc.toString() + info.value.umodel.name
-                // }
-                // data[2].wlnum = bl.toString() + info.value.umodel.name
-                // if (Number(tl) <= info.value.planNum) {
-                //     let total: number = Number(tl) - Number(cc) - Number(bl)  // 鏄惁鏈変綑
-                //     data[data.length - 1].wlnum = (Number(tl) - Number(cc) - Number(bl)).toString() + info.value.umodel.name
-                //     if (total === 0) {
-                //         isSubmit.value = true
-                //     } else {
-                //         isSubmit.value = false
-                //     }
-                // } else {
-                //     isSubmit.value = false
-                // }
-                // statisticsData.value = data
-                let arr: any = []
-                let tl = 0
-                let res = getGroupNum(feedingData.value)
-                for (let i in res) {
-                    let num = 0
-                    res[i].forEach((item: any) => {
-                        num += item.num
-                    })
-                    arr.push({ name: '宸ュ崟鎶曟枡', materialName: i + '-' + res[i][0].procedureName, num: num })
-                }
-                feedingData.value.forEach((item:any) => {
-                    tl += item.num
-                })
-                statisticsData.value = [...statisticsData.value, ...arr]
-                statisticsData.value.push({ name: '宸ュ崟鍚堟牸浜у嚭', materialName: info.value.mmodel.name + '-' + info.value.procedureName, num: produceFrom.qualified })
-                statisticsData.value.push({ name: '宸ュ崟涓嶈壇浜у嚭', materialName: info.value.mmodel.name + '-' + info.value.procedureName, num: produceFrom.undesirable })
-                if (Number(tl) <= info.value.planNum) {
-                    let total: number = Number(tl) - Number(produceFrom.qualified) - Number(produceFrom.undesirable)  // 鏄惁鏈変綑
-                    statisticsData.value.push({ name: '宸ュ崟鏈姇鏂�', materialName: '', num: (Number(tl) - Number(produceFrom.qualified) - Number(produceFrom.undesirable)).toFixed(2) })
-                    if (total === 0) {
-                        isSubmit.value = true
-                    } else {
-                        isSubmit.value = false
-                    }
-                } else {
-                    isSubmit.value = false
-                }
-            } else if (info.value.hasBom === 1) {  // 鏈塨om鎯呭喌
-                console.log('鏈塨om')
-                let arr: any = []
-                let tl = 0
-                let res = getGroupNum(feedingData.value)
-                for (let i in res) {
-                    let num = 0
-                    res[i].forEach((item: any) => {
-                        num += item.num
-                    })
-                    arr.push({ name: '宸ュ崟鎶曟枡', materialName: i, num: num })
-                }
-                feedingData.value.forEach((item:any) => {
-                    tl += item.num
-                })
-                statisticsData.value = [...statisticsData.value, ...arr]
-                statisticsData.value.push({ name: '宸ュ崟鍚堟牸浜у嚭', materialName: info.value.mmodel.name + '-' + info.value.procedureName, num: produceFrom.qualified })
-                statisticsData.value.push({ name: '宸ュ崟涓嶈壇浜у嚭', materialName: info.value.mmodel.name + '-' + info.value.procedureName, num: produceFrom.undesirable })
-                // isSubmit.value = produceFrom.qualified + produceFrom.undesirable <= info.value.planNum;
-                isSubmit.value = true
-            }
+            if (!wuList.value.length === 0) return Toast('鎶曟枡涓嶈兘涓虹┖')
         }
-        statistics.value = true
-    }
-
-    // 鏍规嵁鏌愪釜瀛楁杩涜鍒嗙粍
-    const getGroupNum = (arr: any) => {
-        let newArry: any = {};
-        for (let i = 0; i < arr.length; i++) {
-            if (newArry[arr[i].materialName]) {
-                newArry[arr[i].materialName].push(arr[i])
-            } else {
-                newArry[arr[i].materialName] = [arr[i]]
-            }
+        if (!from.qualified) return Toast('鑹搧鏁颁笉鑳戒负绌�')
+        // 鏈変笉鑹暟
+        if (from.undesirable > 0) {
+            if (from.defective.length === 0) return Toast('涓嶈壇椤逛笉鑳戒负绌�')
         }
-        return newArry;
-    }
-
-    // 杩斿洖淇敼
-    const gofh = () => {
-        statistics.value = false
-    }
-
-    // 纭鎶ュ伐
-    const submitBG = () => {
-        comfirmDoneStandard({
-            id: route.query.id
+        if (!from.duration) return Toast('鎶ュ伐鏃堕暱涓嶈兘涓虹┖')
+        autoWorkReport({
+            createWorkorderRecordDTO: {
+                duration: from.duration,
+                qualifiedNum: from.qualified,
+                unQualifiedNum: from.undesirable
+            },
+            plansId: from.processPlan.id,
+            proGroupId: deviceId.value,
+            proUserList: [from.userId],
+            recordList: wuList.value.map((item: any) => {
+                return {
+                    wstockId: item.id,
+                    num: item.num
+                }
+            }),
+            createUnqualifiedDTOList: from.defective.map((item: any) => {
+                return {
+                    categoryId: item.id,
+                    unQualifiedNum: item.num
+                }
+            })
         }).then(res => {
             if (res.code === 200) {
-                Toast.success({ message: '鎶ュ伐鎴愬姛', forbidClick: true, duration: 2000 })
+                Toast.success({message: '鎶ュ伐鎴愬姛锛�'})
                 setTimeout(() => {
-                    router.go(-2)
-                }, 2000)
+                    router.go(-1)
+                }, 2000);
             }
         })
+    }
+
+    // 棰勮宸ヨ祫
+    const expectedSalary = computed(() => {
+        if (!infoBox.value) return 0
+        // 鎸変欢璁$畻
+        if (infoBox.value.type == 0) {
+            console.log('璁′欢')
+            if (!from.qualified) return 0
+            if (infoBox.value.unqualified == 1) {   // 鏄惁璁″叆涓嶈壇鍝�
+                let total = Number(from.qualified) + Number(from.undesirable)
+                return total * infoBox.value.salary
+            } else {
+                return Number(from.qualified) * infoBox.value.salary
+            }
+        } else {
+            console.log('璁℃椂')
+            if (!from.duration) return 0;
+            let h = (from.duration / 60 / 60).toFixed(2)
+            return Number(h) * infoBox.value.salary
+        }
+    })
+
+    // 杈炬爣鐜�
+    const complianceRate = computed(() => {
+        if (!infoBox.value) return 0;
+        if (!from.qualified) return 0;
+        if (!from.duration) return 0;
+        // 鎸変欢璁$畻
+        // if (infoBox.value.type == 0) {
+            // if (infoBox.value.unqualified == 1) {   // 鏄惁璁″叆涓嶈壇鍝�
+                let a = ((Number(from.qualified) + Number(from.undesirable)) / (from.duration / 60 / 60)).toFixed(2)
+                let b = (infoBox.value.num / (infoBox.value.times / 60 / 60)).toFixed(2)
+                console.log(a)
+                console.log(b)
+                return (Number(a) / Number(b)).toFixed(2)
+                // let total = (Number(from.qualified) + Number(from.undesirable)) / ((from.duration * 60 * 60) * infoBox.value.num / )
+                // return total * infoBox.value.salary;
+            // } else {
+            //     return Number(from.qualified) * infoBox.value.salary;
+            // }
+        // } else {
+        //     console.log('鎸夋椂闀�')
+        // }
+    })
+
+    const deleItem = (index: number) => {
+        if (wuList.value.length === 1) return Toast('鑷冲皯淇濈暀涓�椤瑰唴瀹�')
+        wuList.value.splice(index, 1)
+    }
+    const openDev = () => {
+        if (!from.processPlan) return Toast('璇峰厛閫夋嫨宸ュ簭鐢熶骇璁″垝')
+        deviceShow.value = true
+    }
+    const openMaterial = () => {
+        if (!plansId.value) return Toast('璇峰厛閫夋嫨宸ュ簭鐢熶骇璁″垝')
+        if (!deviceId.value) return Toast('璇峰厛閫夋嫨鐢熶骇璁惧')
+        show1.value = true
+    }
+    const onConfirm1 = (e: any) => {
+        from.userId = e.userId
+        from.userName = e.name
+        userShow.value = false
+    }
+    const onConfirm2 = (e: string) => {
+        let h = Number(e.substring(0, 2))
+        let m = Number(e.substring(3, 5))
+        let s = 0
+        if (h > 0) {
+            s += h * 60 * 60
+        }
+        if (m > 0) {
+            s += m * 60
+        }
+        from.duration = s
+        from.durationName = `${h}灏忔椂${m}鍒嗛挓`
+        TimeShow.value = false
+    }
+    const onCancel1 = () => {
+        userShow.value = false
+    }
+    const onCancel2 = () => {
+        TimeShow.value = false
+    }
+    const onConfirm = (e: any) => {
+        from.deviceId = e.id
+        from.deviceName = e.name
+        deviceId.value = e.id
+        from.userId = ''
+        from.userName = ''
+        // getFindAll({
+        //     deviceId: e.id,
+        //     planId: from.processPlan.id
+        // }).then(res => {
+        //     if (res.code === 200) {
+        //         res.data.forEach((item: any) => {
+        //             item.name = item.umodel.name + '-' + item.tmodel.name
+        //         })
+        //         userList.value = res.data
+        //     }
+        // })
+        deviceShow.value = false
+    }
+    const onCancel = () => {
+        deviceShow.value = false
+    }
+
+    const selectPlan = () => {
+        router.push({ name: 'processPlans' })
+    }
+
+    const close = () => {
+        show1.value = false
+    }
+    const getData = () => {
+        categoryExtList({
+            cateType: "3"
+        }).then(res => {
+            if (res.code === 200) {
+                res.data.forEach((item: any) => {
+                    item.active = false
+                    item.num = ''
+                })
+                cateList.value = res.data
+            }
+        })
+    }
+    // 閫夋嫨鐗╂枡
+    const getValue = (val: any) => {
+        let obj = JSON.parse(JSON.stringify(val))
+        obj.total = val.num
+        wuList.value.unshift(obj)
+        let arr = wuList.value.map((item: any) => item.id)
+        ids.value = arr.join(',')
+        show1.value = false
     }
 
     onMounted(() => {
-        pageDJs()
-        queryByIds()
-        getOrocessRecords()
-        getOrocessRecordCC()
+        getData()
+        $Bus.on('callback', (res: any)=>{
+            from.processPlan = res
+            plansId.value = res.id
+            from.deviceId = ''
+            from.deviceName = ''
+            deviceId.value = ''
+            from.userId = ''
+            from.userName = ''
+            total.value = res.num - res.workorderDistributNum
+            // 鑾峰彇璁惧
+            getDeviceByCondition({ procedureId: res.procedureId })
+                .then(res1 => {
+                    if (res1.code === 200) {
+                        deviceId.value = res1.data[0].id
+                        from.deviceId = res1.data[0].id
+                        from.deviceName = res1.data[0].name
+                        deviceList.value = res1.data
+                    }
+                })
+            // 鑾峰彇绫诲瀷
+            getIdPlansExt(res.id)
+                .then(res2 => {
+                    if (res.code === 200) {
+                        bomType.value = res2.data.bomType
+                        hasBom.value = res2.data.hasBom
+                    }
+                })
+            // 鑾峰彇宸ヨ祫缁╂晥鏁版嵁
+            queryOne({
+                deleted: 0,
+                departId: res.factoryId,
+                materialId: res.materialId,
+                procedureId: res.procedureId
+            }).then(result => {
+                if (result.code === 200) {
+                    infoBox.value = result.data
+                }
+            })
+        })
     })
 </script>
 
 <style lang="scss" scoped>
     .bg {
         width: 100%;
-        /*height: 100%;*/
         position: absolute;
         background: #F7F7F7;
-        .details_cz {
+        .bg_plan {
             width: 100%;
+            // height: 98px;
             padding: 30px;
             box-sizing: border-box;
+            background: #FFFFFF;
+            margin-bottom: 40px;
             display: flex;
             align-items: center;
             justify-content: space-between;
-            .details_cz_sdtl {
-                width: 330px;
-                height: 76px;
-                background: #FFFFFF;
-                border-radius: 36px;
-                display: flex;
-                align-items: center;
-                justify-content: center;
-                img {
-                    width: 28px;
-                    height: 28px;
-                    margin-right: 14px;
-                }
-                span {
-                    font-size: 26px;
-                    font-weight: 400;
-                    color: #222222;
+            span {
+                font-size: 30px;
+                font-family: PingFangSC-Regular, PingFang SC;
+                font-weight: 400;
+                color: #222222;
+                b {
+                    color: red;
                 }
             }
-            .details_cz_smtl {
-                /*width: 330px;*/
-                flex: 1;
-                height: 76px;
-                background: $nav-color;
-                border-radius: 36px;
+            .bg_plan_nr {
+                display: flex;
+                flex-direction: column;
+                span {
+                    font-size: 24px;
+                    font-family: PingFangSC-Regular, PingFang SC;
+                    font-weight: 400;
+                    color: #666666;
+                    margin-top: 20px;
+                    &:first-child {
+                        font-size: 32px;
+                        font-family: PingFangSC-Medium, PingFang SC;
+                        font-weight: 500;
+                        color: #333333;
+                        margin-top: 0 !important;
+                    }
+                }
+            }
+            .bg_plan_label_val {
                 display: flex;
                 align-items: center;
-                justify-content: center;
-                img {
-                    width: 28px;
-                    height: 28px;
-                    margin-right: 14px;
-                }
                 span {
-                    font-size: 26px;
+                    font-size: 28px;
+                    font-family: PingFangSC-Regular, PingFang SC;
                     font-weight: 400;
-                    color: #ffffff;
+                    color: #999999;
+                }
+                img {
+                    width: 12px;
+                    height: 24px;
+                    margin-left: 20px;
                 }
             }
         }
@@ -1039,7 +626,9 @@
             width: 100%;
             display: flex;
             flex-direction: column;
-            margin-top: 30px;
+            .bottomval {
+                margin-bottom: 20px !important;
+            }
             .bg_list_item {
                 display: flex;
                 flex-direction: column;
@@ -1111,172 +700,165 @@
                         }
                     }
                 }
-                .bg_list_item_num {
+                .top {
+                    margin-top: 20px !important;
+                }
+                .bg_list_item_h {
                     width: 100%;
-                    background: white;
                     padding: 0 30px;
                     box-sizing: border-box;
-                    .kong {
-                        text-align: center;
-                        font-size: 25px;
-                        padding: 30px 0;
-                        background: #ffffff;
-                    }
-                    .bg_list_item_num_item {
+                    background: white;
+                    .bg_list_item_num {
+                        width: 100%;
+                        min-height: 98px;
+                        background: white;
                         display: flex;
+                        justify-content: center;
                         align-items: center;
-                        // height: 118px;
-                        padding: 15px 0;
-                        box-sizing: border-box;
-                        justify-content: space-between;
-                        border-bottom: 1px solid #E5E5E5;
+                        border-bottom: 1PX solid #E5E5E5;
                         &:last-child {
-                            border: none;
+                            border: none !important;
                         }
-                        .bg_list_item_num_item_wl {
-                            flex-shrink: 0;
+                        .kong {
+                            text-align: center;
+                            font-size: 25px;
+                            padding: 30px 0;
+                            background: #ffffff;
+                        }
+                        .bg_list_item_num_item {
+                            width: 100%;
+                            height: 100%;
                             display: flex;
-                            flex-direction: column;
-                            span {
-                                font-size: 34px;
-                                color: #222222;
+                            align-items: center;
+                            // height: 118px;
+                            padding: 15px 0;
+                            box-sizing: border-box;
+                            justify-content: space-between;
+                            border-bottom: 1px solid #E5E5E5;
+                            &:last-child {
+                                border: none;
                             }
-                            .bg_list_item_num_item_wl_lx {
-                                margin-top: 10px;
-                                span {
-                                    color: #222222;
-                                    font-size: 28px;
+                            .bg_list_item_num_item_list {
+                                display: flex;
+                                align-items: center;
+                                .active {
+                                    background: #305ED5 !important;
+                                    color: #FFFFFF !important;
+                                }
+                                .bg_list_item_num_item_list_item {
+                                    width: 116px;
+                                    height: 62px;
+                                    line-height: 62px;
+                                    text-align: center;
+                                    background: #F2F2F2;
+                                    border-radius: 8px;
+                                    font-size: 26px;
+                                    font-family: PingFangSC-Regular, PingFang SC;
+                                    font-weight: 400;
+                                    color: #333333;
+                                    margin-right: 20px;
+                                    &:last-child {
+                                        margin: 0 !important;
+                                    }
                                 }
                             }
-                        }
-                        .warning {
-                            color: $nav-stateColor5 !important;
-                        }
-                        .err {
-                            color: $nav-stateColor4 !important;
-                        }
-                        span {
-                            flex-shrink: 0;
-                            overflow: hidden;
-                            text-overflow: ellipsis;
-                            white-space: nowrap;
+                            .bg_list_item_num_item_wl {
+                                flex-shrink: 0;
+                                display: flex;
+                                flex-direction: column;
+                                span {
+                                    font-size: 34px;
+                                    color: #222222;
+                                }
+                                .bg_list_item_num_item_wl_lx {
+                                    margin-top: 10px;
+                                    span {
+                                        color: #222222;
+                                        font-size: 28px;
+                                    }
+                                }
+                            }
                             .warning {
                                 color: $nav-stateColor5 !important;
-                                margin-right: 5px;
                             }
                             .err {
                                 color: $nav-stateColor4 !important;
-                                margin-right: 5px;
                             }
-                            &:nth-child(1) {
-                                font-size: 30px;
-                                font-weight: 400;
-                                color: #222222;
-                            }
-                            &:nth-child(2) {
-                                font-size: 28px;
-                                font-weight: 400;
-                                color: #333333;
-                                flex-shrink: 0;
-                            }
-                        }
-                        .bg_list_item_num_item_sr {
-                            flex: 1;
-                            display: flex;
-                            align-items: center;
-                            justify-content: flex-end;
-                            input::-webkit-input-placeholder {
-                                font-size: 28px;
-                            }
-                            input {
-                                text-align: right;
-                                width: 180px;
-                                height: 60px;
-                                border-radius: 8px;
-                                border: 1PX solid #E5E5E5;
-                                margin-right: 20px;
-                                font-size: 28px;
-                                font-weight: 400;
-                                color: #333333;
-                                padding: 0 30px
+                            img {
+                                width: 12px;
+                                height: 24px;
+                                margin-left: 20px;
                             }
                             span {
-                                font-size: 28px;
-                                font-weight: 400;
-                                color: #666666;
+                                flex-shrink: 0;
+                                overflow: hidden;
+                                text-overflow: ellipsis;
+                                white-space: nowrap;
+                                b {
+                                    font-size: 30px;
+                                    color: red;
+                                    margin-right: 5px;
+                                }
+                                .warning {
+                                    color: $nav-stateColor5 !important;
+                                    margin-right: 5px;
+                                }
+                                .err {
+                                    color: $nav-stateColor4 !important;
+                                    margin-right: 5px;
+                                }
+                                &:nth-child(1) {
+                                    font-size: 30px;
+                                    font-weight: 400;
+                                    color: #222222;
+                                }
+                                &:nth-child(2) {
+                                    font-size: 28px;
+                                    font-weight: 400;
+                                    color: #333333;
+                                    flex-shrink: 0;
+                                }
                             }
-                        }
-                    }
-                }
-            }
-        }
-        .details_dj {
-            display: flex;
-            flex-direction: column;
-            .details_dj_title {
-                width: 100%;
-                display: flex;
-                align-items: center;
-                justify-content: space-between;
-                padding: 0 30px 30px 30px;
-                box-sizing: border-box;
-                .details_dj_title_left {
-                    display: flex;
-                    align-items: center;
-                    .details_x {
-                        width: 8px;
-                        height: 30px;
-                        background: $nav-color;
-                        border-radius: 2px;
-                        margin-right: 12px;
-                    }
-                    span {
-                        font-size: 32px;
-                        font-weight: 500;
-                        color: #222222;
-                    }
-                }
-                .details_dj_title_right {
-                    display: flex;
-                    align-items: center;
-                    img {
-                        width: 28px;
-                        height: 28px;
-                        margin-right: 12px;
-                    }
-                    span {
-                        font-size: 28px;
-                        font-weight: 400;
-                        color: $nav-color;
-                    }
-                }
-            }
-            .details_dj_list {
-                width: 100%;
-                /*padding: 30px;*/
-                box-sizing: border-box;
-                background: #ffffff;
-                display: flex;
-                flex-direction: column;
-                .details_dj_list_item {
-                    display: flex;
-                    flex-direction: column;
-                    border-bottom: 1px solid #E5E5E5;
-                    padding: 30px;
-                    /*margin: 30px;*/
-                    /*padding-bottom: 30px;*/
-                    /*margin-bottom: 30px !important;*/
-                    span {
-                        &:nth-child(1) {
-                            font-size: 28px;
-                            font-weight: 400;
-                            color: #222222;
-                        }
-                        &:nth-child(2) {
-                            font-size: 24px;
-                            font-weight: 400;
-                            color: #999999;
-                            margin-top: 24px;
+                            .bg_list_item_num_item_sr {
+                                flex: 1;
+                                display: flex;
+                                align-items: center;
+                                justify-content: flex-end;
+                                .color1 {
+                                    font-size: 28px;
+                                    font-family: PingFangSC-Regular, PingFang SC;
+                                    font-weight: 400;
+                                    color: #333333;
+                                }
+                                input::-webkit-input-placeholder {
+                                    font-size: 28px;
+                                }
+                                input {
+                                    text-align: right;
+                                    width: 180px;
+                                    height: 60px;
+                                    border-radius: 8px;
+                                    border: 1PX solid #E5E5E5;
+                                    margin-right: 20px;
+                                    font-size: 28px;
+                                    font-weight: 400;
+                                    color: #333333;
+                                    padding: 0 30px
+                                }
+                                .wulll {
+                                    width: 400px;
+                                    text-align: right;
+                                    overflow: hidden;
+                                    white-space: nowrap;
+                                    text-overflow: ellipsis;
+                                }
+                                span {
+                                    font-size: 28px;
+                                    font-family: PingFangSC-Regular, PingFang SC;
+                                    font-weight: 400;
+                                    color: #999999;
+                                }
+                            }
                         }
                     }
                 }
@@ -1290,10 +872,27 @@
             bottom: 0;
             left: 0;
             width: 100%;
+            z-index: 9;
             padding: 0 30px 60px 30px;
             box-sizing: border-box;
+            display: flex;
+            align-items: center;
+            justify-content: space-between;
+            .bg_footer_submit1 {
+                width: 334px;
+                height: 88px;
+                line-height: 88px;
+                text-align: center;
+                background: #FFFFFF;
+                box-shadow: 0px 0px 12px 0px rgba(0,0,0,0.08);
+                border-radius: 8px;
+                font-size: 30px;
+                font-family: PingFangSC-Medium, PingFang SC;
+                font-weight: 500;
+                color: #305ED5;
+            }
             .bg_footer_submit {
-                width: 690px;
+                width: 334px;
                 height: 88px;
                 background: $nav-color;
                 box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.08);
@@ -1304,108 +903,6 @@
                 display: flex;
                 align-items: center;
                 justify-content: center;
-            }
-        }
-        .tg {
-            width: 100%;
-            height: 100%;
-            padding: 30px;
-            box-sizing: border-box;
-            .tg_header {
-                width: 100%;
-                height: 45px;
-                text-align: center;
-                line-height: 45px;
-                font-size: 30px;
-                font-weight: 500;
-                color: #222222;
-            }
-            .tg_table {
-                width: 100%;
-                margin-top: 40px;
-                .tg_table_header {
-                    width: 100%;
-                    height: 72px;
-                    background: #EFF2FC;
-                    display: flex;
-                    align-items: center;
-                    .tg_table_header_item {
-                        flex: 1;
-                        font-size: 26px;
-                        font-weight: 500;
-                        color: #333333;
-                        display: flex;
-                        align-items: center;
-                        justify-content: center;
-                    }
-                }
-            }
-            .nr {
-                max-height: 400px;
-                overflow-x: scroll;
-                .tg_table_nr {
-                    width: 100%;
-                    padding: 24px 10px;
-                    box-sizing: border-box;
-                    display: flex;
-                    align-items: center;
-                    background: white;
-                    box-shadow: inset 0px -2px 0px 0px #E5E5E5;
-                    .tg_table_nr_item {
-                        flex: 1;
-                        font-size: 26px;
-                        font-weight: 500;
-                        color: #333333;
-                        display: flex;
-                        align-items: center;
-                        justify-content: center;
-                    }
-                    .tg_table_nr_item1 {
-                        flex: 1;
-                        font-size: 26px;
-                        font-weight: 500;
-                        color: #333333;
-                        display: flex;
-                        align-items: center;
-                        justify-content: center;
-                    }
-                }
-            }
-        }
-        .tg_footer {
-            width: calc(100% - 60px);
-            position: fixed;
-            bottom: 0;
-            display: flex;
-            justify-content: space-between;
-            align-items: center;
-            box-sizing: border-box;
-            padding-bottom: 40px;
-            .tg_footer_fh {
-                width: 100%;
-                height: 88px;
-                display: flex;
-                align-items: center;
-                justify-content: center;
-                background: rgba(66, 117, 252, 0.05);
-                border-radius: 8px;
-                border: 1PX solid #4275FC;
-                font-size: 32px;
-                font-weight: 500;
-                color: $nav-color;
-            }
-            .tg_footer_qr {
-                width: 100%;
-                height: 88px;
-                border: none;
-                display: flex;
-                align-items: center;
-                justify-content: center;
-                background: $nav-color;
-                border-radius: 8px;
-                font-size: 32px;
-                font-weight: 500;
-                color: #FFFFFF;
             }
         }
         .bl {
@@ -1425,21 +922,38 @@
                         font-size: 32px !important;
                     }
                 }
+                img {
+                    width: 28px;
+                    height: 28px;
+                }
+            }
+            .bl_footer {
+                width: 100%;
+                height: 88px;
+                line-height: 88px;
+                text-align: center;
+                background: #305ED5;
+                border-radius: 8px;
+                font-size: 32px;
+                font-family: PingFangSC-Medium, PingFang SC;
+                font-weight: 500;
+                color: #FFFFFF;
+                margin-top: 30px;
             }
             .bl_list {
                 width: 100%;
-                height: 580px;
+                height: 550px;
                 overflow-y: scroll;
                 margin-top: 30px;
                 .bl_list_item {
                     width: 100%;
-                    height: 60px;
+                    height: 96px;
                     display: flex;
                     align-items: center;
                     justify-content: space-between;
-                    margin-bottom: 20px;
+                    border-bottom: 1PX solid #E5E5E5;
                     &:last-child {
-                        margin-bottom: 0 !important;
+                        border: none !important;
                     }
                     .bl_list_item_left {
                         flex: 1;
@@ -1448,6 +962,7 @@
                         input {
                             width: 30px;
                             height: 30px;
+                            border: 1PX solid #CCCCCC;
                             margin: 0 !important;
                         }
                         span {
@@ -1464,9 +979,19 @@
                             padding-left: 5px;
                             width: 160px;
                             height: 100%;
+                            padding: 0 30px;
+                            box-sizing: border-box;
+                            text-align: right;
                             font-size: 28px;
+                            color: #333333;
                             border-radius: 10px;
-                            border: 2px solid #999999
+                            border: 1PX solid #CCCCCC;
+                            &::-webkit-input-placeholder {
+                                font-size: 28px;
+                                font-family: PingFangSC-Regular, PingFang SC;
+                                font-weight: 400;
+                                color: #999999;
+                            }
                         }
                     }
                 }

--
Gitblit v1.9.3