From a99b32aee78f130d44f5353b30b001f96c84977a Mon Sep 17 00:00:00 2001
From: Mr.Shi <1878285526@qq.com>
Date: 星期四, 17 八月 2023 18:45:29 +0800
Subject: [PATCH] 改bug

---
 h5_standard/src/views/LogInAgain.vue                       |   18 
 h5_standard/src/components/common/Warehouse.vue            |   18 +
 h5_standard/src/views/workOrder/reportingForWork.vue       |   60 ++-
 h5_standard/src/views/wxLogin.vue                          |    1 
 h5_standard/src/views/needToBeDealtWith/addWarehousing.vue |   35 ++
 h5_standard/src/views/workOrder/processPlan.vue            |  106 ++++++
 h5_standard/src/views/workOrder/workOrderReporting.vue     |  658 ++++++++++++++++++++++++++++++++--------
 h5_standard/src/views/needToBeDealtWith/outbound.vue       |   17 
 web_standard/.env.development                              |    5 
 h5_standard/src/components/newCom/quality.vue              |    3 
 10 files changed, 734 insertions(+), 187 deletions(-)

diff --git a/h5_standard/src/components/common/Warehouse.vue b/h5_standard/src/components/common/Warehouse.vue
index c9579da..6333630 100644
--- a/h5_standard/src/components/common/Warehouse.vue
+++ b/h5_standard/src/components/common/Warehouse.vue
@@ -19,7 +19,13 @@
                     @load="onLoad">
                     <div class="content_list">
                         <div class="content_list_item" v-for="(item, i) in list" :key="i" @click="jump(item)">
-                            <div class="content_list_item_name">{{item.name}}</div>
+                            <div class="content_list_item_name">
+                                <span style="color: #03AF76;" v-if="item.tmodel.label == 'APPLIANCE_ONTEST'">[{{ item.tmodel.code }}]</span>
+                                <span style="color: #305ED5;" v-if="item.tmodel.label == 'APPLIANCE_MIX'">[{{ item.tmodel.code }}]</span>
+                                <span style="color: #F5A400;" v-if="item.tmodel.label == 'APPLIANCE_OFFTEST'">[{{ item.tmodel.code }}]</span>
+                                <span style="color: red;" v-if="item.tmodel.label == 'APPLIANCE_USELESS'">[{{ item.tmodel.code }}]</span>
+                                <span>{{item.name}}</span>
+                            </div>
                         </div>
                     </div>
                 </van-list>
@@ -223,7 +229,15 @@
                     margin-right: 10px;
                 }
                 .content_list_item_name {
-                    font-size: 28px;
+                    width: 100%;
+                    display: flex;
+                    align-items: center;
+                    span {
+                        font-size: 30px;
+                        font-family: PingFangSC-Regular, PingFang SC;
+                        font-weight: 400;
+                        color: #222222;
+                    }
                 }
             }
         }
diff --git a/h5_standard/src/components/newCom/quality.vue b/h5_standard/src/components/newCom/quality.vue
index c1c67a6..143cdc8 100644
--- a/h5_standard/src/components/newCom/quality.vue
+++ b/h5_standard/src/components/newCom/quality.vue
@@ -23,8 +23,7 @@
     let list = ref([
         { name: '鍚堟牸', id: '0' },
         { name: '涓嶈壇', id: '1' },
-        { name: '鎶ュ簾', id: '2' },
-        { name: '娣峰悎', id: '3' }
+        { name: '鎶ュ簾', id: '2' }
     ])
 
     // 杩斿洖涓婁竴椤靛甫鍙傛暟
diff --git a/h5_standard/src/views/LogInAgain.vue b/h5_standard/src/views/LogInAgain.vue
index bcfda83..1ded748 100644
--- a/h5_standard/src/views/LogInAgain.vue
+++ b/h5_standard/src/views/LogInAgain.vue
@@ -84,20 +84,20 @@
       //   uuid: '0000',
       //   code: '0000'
       // })
-      // let res = await testLogin({  // 澶ф爴
-      //   username: '18019924213',
-      //   password: '123456',
-      //   companyId: '1',
-      //   uuid: '0000',
-      //   code: '0000'
-      // })
-      let res = await testLogin({ // 鏂囨
-        username: '18656077929',
+      let res = await testLogin({  // 澶ф爴
+        username: '18019924213',
         password: '123456',
         companyId: '8',
         uuid: '0000',
         code: '0000'
       })
+      // let res = await testLogin({ // 鏂囨
+      //   username: '18656077929',
+      //   password: '123456',
+      //   companyId: '111',
+      //   uuid: '0000',
+      //   code: '0000'
+      // })
       // let res = await testLogin({ // 鑳″厠涓�
       //   username: '17751132561',
       //   password: '123456',
diff --git a/h5_standard/src/views/needToBeDealtWith/addWarehousing.vue b/h5_standard/src/views/needToBeDealtWith/addWarehousing.vue
index ef5e6ea..14bf623 100644
--- a/h5_standard/src/views/needToBeDealtWith/addWarehousing.vue
+++ b/h5_standard/src/views/needToBeDealtWith/addWarehousing.vue
@@ -139,6 +139,7 @@
         {
             batch: '',
             locationId: '',
+            locationIdLabel: '',
             locationName: '',
             materialId: '',
             materialName: '',
@@ -165,6 +166,9 @@
     }
     // 鎵撳紑閫夋嫨鐗╂枡
     const openQ = (index: number) => {
+        if (list.value[index].locationIdLabel == 'APPLIANCE_ONTEST' || list.value[index].locationIdLabel == 'APPLIANCE_OFFTEST' || list.value[index].locationIdLabel == 'APPLIANCE_USELESS') {
+            return
+        }
         i.value = index
         qualityShow.value = true
     }
@@ -180,18 +184,19 @@
         locationShow.value = true
     }
     const addItem = () => {
-        // if (!form.warehouseId) return Toast('璇烽�夋嫨鍏ュ簱浠撳簱')
+        if (!form.warehouseId) return Toast('璇烽�夋嫨鍏ュ簱浠撳簱')
         list.value.push({
             batch: '',
             locationId: '',
             locationName: '',
+            locationIdLabel: list.value[list.value.length - 1].locationIdLabel,
             materialId: '',
             materialName: '',
             num: '',
             procedureId: '',
             procedureName: '',
-            qualityType: '',
-            qualityTypeName: '',
+            qualityType: list.value[list.value.length - 1].qualityType,
+            qualityTypeName: list.value[list.value.length - 1].qualityTypeName,
             unitId: '',
             unitName: ''
         })
@@ -301,6 +306,17 @@
                             item.locationId = res.data[0].id
                             item.locationName = res.data[0].unionName
                         })
+                        list.value[i.value].locationIdLabel = res.data[0].label
+                        if (res.data[0].label === 'APPLIANCE_ONTEST') {
+                            list.value[i.value].qualityType = '0'
+                            list.value[i.value].qualityTypeName = '鍚堟牸'
+                        } else if (res.data[0].label === 'APPLIANCE_OFFTEST') {
+                            list.value[i.value].qualityType = '1'
+                            list.value[i.value].qualityTypeName = '涓嶈壇'
+                        } else if (res.data[0].label === 'APPLIANCE_USELESS') {
+                            list.value[i.value].qualityType = '2'
+                            list.value[i.value].qualityTypeName = '鎶ュ簾'
+                        }
                     } else {
                         location.value = true
                         list.value.forEach(item => {
@@ -340,6 +356,19 @@
     const getValue3 = (item: any): void => {
         list.value[i.value].locationId = item.id
         list.value[i.value].locationName = item.unionName
+        list.value[i.value].qualityType = ''
+        list.value[i.value].qualityTypeName = ''
+        list.value[i.value].locationIdLabel = item.label
+        if (item.label === 'APPLIANCE_ONTEST') {
+            list.value[i.value].qualityType = '0'
+            list.value[i.value].qualityTypeName = '鍚堟牸'
+        } else if (item.label === 'APPLIANCE_OFFTEST') {
+            list.value[i.value].qualityType = '1'
+            list.value[i.value].qualityTypeName = '涓嶈壇'
+        } else if (item.label === 'APPLIANCE_USELESS') {
+            list.value[i.value].qualityType = '2'
+            list.value[i.value].qualityTypeName = '鎶ュ簾'
+        }
         locationShow.value = false
     }
     // 閫夋嫨宸ュ簭
diff --git a/h5_standard/src/views/needToBeDealtWith/outbound.vue b/h5_standard/src/views/needToBeDealtWith/outbound.vue
index 21d39a9..a1d47d1 100644
--- a/h5_standard/src/views/needToBeDealtWith/outbound.vue
+++ b/h5_standard/src/views/needToBeDealtWith/outbound.vue
@@ -44,7 +44,7 @@
                         <span>鍑哄簱璐т綅锛歿{ item.locationName }}</span>
                         <div class="rework_qd_item_hw_right">
                             <span>鏁伴噺锛�</span>
-                            <input type="number" v-model="item.num" placeholder="0" />
+                            <input type="number" v-model="item.num" @input="changeNum(item)" placeholder="0" />
                             <span>{{ item.unitName }}</span>
                         </div>
                     </div>
@@ -111,7 +111,16 @@
     const onCancel = () => {
         typeShow.value = false
     }
-    
+    const changeNum = (obj: any) => {
+        if (obj.num < 0) {
+            obj.num = ''
+            return Toast('鍑哄簱鐗╂枡鏁伴噺蹇呴』澶т簬0')
+        }
+        if (obj.num > obj.total) {
+            obj.num = ''
+            return Toast('鍑哄簱鐗╂枡鏁伴噺涓嶈兘澶т簬搴撳瓨鏁�')
+        }
+    }
     // 鑾峰彇褰撳ぉ骞存湀鏃�
     const getDay = () => {
       var date = new Date();
@@ -127,7 +136,7 @@
         if (!form.warehouseId) return Toast('璇烽�夋嫨鍑哄簱浠撳簱')
         if (list.value.length === 0) return Toast('鑷冲皯閫夋嫨涓�鏉″嚭搴撶墿鏂�')
         for (let i = 0; i < list.value.length; i++) {
-            if (!list.value[i].num || list.value[i].num == '' || list.value[i].num == 0) {
+            if (!list.value[i].num || list.value[i].num == '' || list.value[i].num <= 0) {
                 return Toast(`绗�${i + 1}涓嚭搴撶墿鏂欐暟閲忓繀椤诲ぇ浜�0`)
             }
             if (list.value[i].num > list.value[i].total) {
@@ -352,7 +361,7 @@
                             color: #333333;
                             background: #FFFFFF;
                             border-radius: 8px;
-                            border: 1px solid #CCCCCC;
+                            border: 1PX solid #CCCCCC;
                             margin: 0 20px;
                             padding: 0 30px;
                             box-sizing: border-box;
diff --git a/h5_standard/src/views/workOrder/processPlan.vue b/h5_standard/src/views/workOrder/processPlan.vue
index d23877b..c189abc 100644
--- a/h5_standard/src/views/workOrder/processPlan.vue
+++ b/h5_standard/src/views/workOrder/processPlan.vue
@@ -1,5 +1,9 @@
 <template>
     <div class="content">
+        <div :class="{ 'content_top': status }" class="content_search">
+            <v-Search @searchInput="searchInput" @submit="submit" :isShow="false" placeholder="鎼滅储鐗╂枡鍚嶇О/缂栫爜/宸ュ簭鍚嶇О">
+            </v-Search>
+        </div>
         <van-pull-refresh v-model="refreshing" @refresh="onRefresh">
             <van-list
                 v-model:loading="loading"
@@ -48,12 +52,15 @@
 </template>
 
 <script setup lang="ts">
-    import { reactive, ref, onBeforeUnmount, getCurrentInstance } from "vue"
+    import { reactive, ref, onBeforeUnmount, getCurrentInstance, onMounted } from "vue"
     import { useRouter, useRoute } from "vue-router"
     import { getList } from "@/apis/PlanningAPI"
+    import { judgmentPlatform } from '@/utils/utils'
 
     const route = useRoute()
     const router = useRouter()
+
+    let status = ref<boolean>(false)    // 鏍规嵁骞冲彴鏄惁闇�瑕佽缃畉op
 
     const { $Bus }  = getCurrentInstance().appContext.config.globalProperties 
 
@@ -61,7 +68,8 @@
     const pageData = reactive({
         capacity: 10,
         page: 0,
-        total: 0
+        total: 0,
+        name: ''
     })
 
     // 鍒楄〃鏁版嵁
@@ -73,6 +81,23 @@
     const clickItem = (obj: any) => {
         $Bus.emit('callback', obj)
         router.go(-1)
+    }
+
+    // 鎼滅储鎻愪氦
+    const submit = (): void => {
+        pageData.page = 0
+        finished.value = false
+        listData.value = []
+        onLoad()
+    }
+
+    // 鎼滅储妗�
+    const searchInput = (data: any) => {
+        pageData.name = data
+        pageData.page = 0
+        finished.value = false
+        listData.value = []
+        onLoad()
     }
 
     // 鍒楄〃
@@ -124,6 +149,10 @@
     onBeforeUnmount(() => {
         $Bus.all.delete("changeOdr")
     })
+
+    onMounted(() => {
+        status.value = judgmentPlatform()
+    })
 </script>
 
 <style lang="scss" scoped>
@@ -132,6 +161,79 @@
         // height: 100%;
         position: absolute;
         background: #F7F7F7;
+        .content_top {
+            top: 0 !important;
+        }
+        .content_search {
+            padding: 30px;
+            background: white;
+            box-sizing: border-box;
+            position: sticky;
+            top: 88px;
+            z-index: 9;
+            .Search_item {
+                margin-bottom: 40px;
+                .Search_item_label {
+                    font-size: 30px;
+                    font-weight: 500;
+                    color: #222222;
+                }
+                .Search_item_content {
+                    display: flex;
+                    align-items: center;
+                    justify-content: space-between;
+                    margin-top: 30px;
+                    .tag {
+                        display: flex;
+                        flex-wrap: wrap;
+                        align-items: center;
+                        .tag_active {
+                            background: $nav-color !important;
+                            color: #ffffff !important;
+                        }
+                        .tag_item {
+                            width: 156px;
+                            height: 70px;
+                            box-sizing: border-box;
+                            background: #F2F2F2;
+                            border-radius: 8px;
+                            font-size: 26px;
+                            font-weight: 400;
+                            color: #333333;
+                            display: flex;
+                            align-items: center;
+                            justify-content: center;
+                            margin-right: 22px;
+                            margin-bottom: 22px;
+                            &:nth-child(4n) {
+                                margin-right: 0;
+                            }
+                        }
+                    }
+                    span {
+                        font-size: 26px;
+                        font-weight: 400;
+                        color: #333333;
+                    }
+                    .Search_item_content_a {
+                        width: 308px;
+                        height: 70px;
+                        background: #F7F7F7;
+                        border-radius: 8px;
+                        border: 1px solid #EEEEEE;
+                        font-size: 26px;
+                        font-weight: 400;
+                        color: #B2B2B2;
+                        display: flex;
+                        align-items: center;
+                        justify-content: center;
+                    }
+                }
+            }
+            .content_search_x {
+                height: 24px;
+            }
+        }
         .content_list {
             width: 100%;
             height: 100%;
diff --git a/h5_standard/src/views/workOrder/reportingForWork.vue b/h5_standard/src/views/workOrder/reportingForWork.vue
index f6d30eb..5fa1d2e 100644
--- a/h5_standard/src/views/workOrder/reportingForWork.vue
+++ b/h5_standard/src/views/workOrder/reportingForWork.vue
@@ -55,7 +55,7 @@
                         <span>鏂板鎶曟枡</span>
                     </div>
                 </div>
-                <template v-if="wuList.length > 0">
+                <template v-if="wuList.length > 0 && !(hasBom == 1 && bomType == 1)">
                     <van-swipe-cell v-for="(item, index) in wuList" :key="index">
                         <div class="bg_list_item_h">
                             <div class="bg_list_item_num">
@@ -82,7 +82,7 @@
                         </template>
                     </van-swipe-cell>
                 </template>
-                <template v-else>
+                <template v-else-if="wuList.length == 0 && !(hasBom == 1 && bomType == 1)">
                     <div class="kong">
                         <span>鏆傛棤鏁版嵁</span>
                     </div>
@@ -104,7 +104,7 @@
                             <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>
+                                <span v-if="from.processPlan">{{from.processPlan.unitName}}</span>
                             </div>
                         </div>
                     </div>
@@ -113,7 +113,7 @@
                             <span>涓嶈壇鏁�</span>
                             <div class="bg_list_item_num_item_sr">
                                 <input type="number" v-model="from.undesirable" @input="changeNum(2)" placeholder="璇疯緭鍏�" />
-                                <span>鍧�</span>
+                                <span v-if="from.processPlan">{{from.processPlan.unitName}}</span>
                             </div>
                         </div>
                     </div>
@@ -158,7 +158,7 @@
                         <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>
+                                <span class="color1">{{(infoBox.salary / 10 / 10).toFixed(2)}}鍏�/{{infoBox.type == 0 ? '浠�' : '鏃�'}}</span>
                             </div>
                         </div>
                     </div>
@@ -188,7 +188,7 @@
             <div class="bg_footer_submit" @click="submit">鎻愪氦</div>
         </div>
         <!-- 閫夋嫨涓嶈壇椤� -->
-        <van-popup v-model:show="show" round position="bottom" :style="{ height: '53%' }">
+        <van-popup v-model:show="show" round position="bottom">
             <div class="bl">
                 <div class="bl_head">
                     <img src="@/assets/icon/ic_close@2x.png" style="opacity: 0;" alt="" />
@@ -280,8 +280,7 @@
         text: 'name'
     };
     let userShow = ref(false)
-    let userList = ref([])
-    let wuList: any = ref([])
+    let wuList = ref<Array<any>>([])
 
     // 浜у嚭鏁伴噺楠岃瘉
     const changeNum = (type: number) => {
@@ -348,7 +347,10 @@
         } else {
             if (!wuList.value.length === 0) return Toast('鎶曟枡涓嶈兘涓虹┖')
         }
-        if (!from.qualified) return Toast('鑹搧鏁颁笉鑳戒负绌�')
+        if (!from.qualified && !from.undesirable) {
+            return Toast('鑹搧鏁颁笌涓嶈壇鏁颁笉鑳藉悓鏃朵负绌�')
+        }
+        // if (!from.qualified) return Toast('鑹搧鏁颁笉鑳戒负绌�')
         // 鏈変笉鑹暟
         if (from.undesirable > 0) {
             if (from.defective.length === 0) return Toast('涓嶈壇椤逛笉鑳戒负绌�')
@@ -357,8 +359,8 @@
         autoWorkReport({
             createWorkorderRecordDTO: {
                 duration: from.duration,
-                qualifiedNum: from.qualified,
-                unQualifiedNum: from.undesirable
+                qualifiedNum: from.qualified ? from.qualified : 0,
+                unQualifiedNum: from.undesirable ? from.undesirable : 0
             },
             plansId: from.processPlan.id,
             proGroupId: deviceId.value,
@@ -387,43 +389,46 @@
 
     // 棰勮宸ヨ祫
     const expectedSalary = computed(() => {
-        if (!infoBox.value) return 0
+        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
+                return (total * (infoBox.value.salary / 10 / 10)).toFixed(2) || 0
             } else {
-                return Number(from.qualified) * infoBox.value.salary
+                return (Number(from.qualified) * (infoBox.value.salary / 10 / 10)).toFixed(2) || 0
             }
         } else {
-            console.log('璁℃椂')
             if (!from.duration) return 0;
             let h = (from.duration / 60 / 60).toFixed(2)
-            return Number(h) * infoBox.value.salary
+            return (Number(h) * (infoBox.value.salary / 10 / 10)).toFixed(2) || 0
         }
     })
 
     // 杈炬爣鐜�
     const complianceRate = computed(() => {
         if (!infoBox.value) return 0;
-        if (!from.qualified) return 0;
+        if (!from.qualified && !from.undesirable) return 0;
         if (!from.duration) return 0;
         // 鎸変欢璁$畻
         // if (infoBox.value.type == 0) {
-            // if (infoBox.value.unqualified == 1) {   // 鏄惁璁″叆涓嶈壇鍝�
+            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)
+                return ((Number(a) / Number(b)) * 100).toFixed(2) || 0
                 // 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 {
+                let a = (from.qualified / (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)) * 100).toFixed(2) || 0
+                // return Number(from.qualified) * infoBox.value.salary;
+            }
         // } else {
         //     console.log('鎸夋椂闀�')
         // }
@@ -544,7 +549,7 @@
             // 鑾峰彇绫诲瀷
             getIdPlansExt(res.id)
                 .then(res2 => {
-                    if (res.code === 200) {
+                    if (res2.code === 200) {
                         bomType.value = res2.data.bomType
                         hasBom.value = res2.data.hasBom
                     }
@@ -843,7 +848,7 @@
                                     font-size: 28px;
                                     font-weight: 400;
                                     color: #333333;
-                                    padding: 0 30px
+                                    padding: 0 30px;
                                 }
                                 .wulll {
                                     width: 400px;
@@ -906,12 +911,15 @@
             }
         }
         .bl {
+            width: 100%;
+            height: 800px;
             padding: 30px;
             box-sizing: border-box;
             display: flex;
             flex-direction: column;
             .bl_head {
                 width: 100%;
+                height: 50px;
                 display: flex;
                 align-items: center;
                 justify-content: space-between;
@@ -942,7 +950,7 @@
             }
             .bl_list {
                 width: 100%;
-                height: 550px;
+                height: calc(100% - 168px);
                 overflow-y: scroll;
                 margin-top: 30px;
                 .bl_list_item {
diff --git a/h5_standard/src/views/workOrder/workOrderReporting.vue b/h5_standard/src/views/workOrder/workOrderReporting.vue
index 6dee09f..55a1d2f 100644
--- a/h5_standard/src/views/workOrder/workOrderReporting.vue
+++ b/h5_standard/src/views/workOrder/workOrderReporting.vue
@@ -30,25 +30,28 @@
                 </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">
+                                <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>
                                     </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 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>
                                 </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>
@@ -70,48 +73,107 @@
                 <!-- <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 class="bg_list_item_h">
+                            <div class="bg_list_item_num">
+                                <div class="bg_list_item_num_item">
+                                    <span>鑹搧鏁�({{ info.umodel ? info.umodel.name : '' }})</span>
+                                    <div class="bg_list_item_num_item_sr">
+                                        <!-- :disabled="!proxy.$auth('h5:workorderoutput:update')" -->
+                                        <!-- @blur="change(item.id, item.num, 'C', item.maxNum, item)" -->
+                                        <input type="number" v-model="produceFrom.qualified" @blur="changeCC('0', produceFrom.qualified, produceFrom.qualifiedId)" placeholder="璇疯緭鍏�" />
+                                        <span v-if="info.umodel">{{info.umodel.name}}</span>
+                                    </div>
                                 </div>
                             </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 class="bg_list_item_h">
+                            <div class="bg_list_item_num">
+                                <!-- @blur="change(item.id, item.num, 'C', item.maxNum, item)" -->
+                                <div class="bg_list_item_num_item">
+                                    <span>涓嶈壇鏁�({{ info.umodel ? info.umodel.name : '' }})</span>
+                                    <div class="bg_list_item_num_item_sr">
+                                        <!-- :disabled="!proxy.$auth('h5:workorderoutput:update')" -->
+                                        <!-- @blur="change(item.id, item.num, 'C', item.maxNum, item)" -->
+                                        <input type="number" v-model="produceFrom.undesirable" @blur="changeCC('1', produceFrom.undesirable, produceFrom.undesirableId)" placeholder="璇疯緭鍏�" />
+                                        <span v-if="info.umodel">{{info.umodel.name}}</span>
+                                    </div>
                                 </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>
+                    <van-swipe-cell v-if="produceFrom.undesirable > 0">
+                        <div class="bg_list_item_h">
+                            <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 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>
-                    </van-swipe-cell> -->
+                    </van-swipe-cell>
                 <!-- </template>
                 <template v-else>
                     <div class="kong">
                         <span>鏆傛棤鏁版嵁</span>
                     </div>
                 </template> -->
+            </div>
+            <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>
+                    </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="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>
+                    </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 / 100}}鍏�/{{infoBox.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 class="bg_list_item">
                 <div class="bg_list_item_top">
@@ -283,35 +345,48 @@
                 </div>
             </div>
         </van-popup>
+        <!-- 鏃堕棿 -->
+        <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>
         <!-- 閫夋嫨涓嶈壇椤� -->
-        <van-popup v-model:show="show" round position="bottom" :style="{ height: '53%' }">
+        <van-popup v-model:show="show" round position="bottom">
             <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>
     </div>
 </template>
 
 <script setup lang="ts">
-    import { getCurrentInstance, nextTick, onMounted, ref, reactive } from 'vue'
+    import { getCurrentInstance, nextTick, onMounted, ref, reactive, computed } from 'vue'
     import { useRouter, useRoute } from "vue-router"
     import { Dialog, Toast } from 'vant'
     import { REGULAR } from '@/utils/utils'
+    import { categoryExtList, queryOne } from '@/apis/PlanningAPI'
     import {
         getBarcodeContent,
         queryById,
@@ -334,6 +409,61 @@
     const router = useRouter()
     const route = useRoute()
 
+    let TimeShow = ref(false)
+
+    let from: any = reactive({
+        time: '',
+        defective: [],
+        defectiveName: ''
+    })
+
+    // 棰勮宸ヨ祫
+    const expectedSalary = computed(() => {
+        if (!infoBox.value) return 0;
+        // 鎸変欢璁$畻
+        if (infoBox.value.type == 0) {
+            if (!produceFrom.qualified) return 0
+            if (infoBox.value.unqualified == 1) {   // 鏄惁璁″叆涓嶈壇鍝�
+                let total = Number(produceFrom.qualified) + Number(produceFrom.undesirable)
+                return (total * (infoBox.value.salary / 100)).toFixed(2) || 0
+            } else {
+                return (Number(produceFrom.qualified) * (infoBox.value.salary / 100)).toFixed(2) || 0
+            }
+        } else {
+            if (!from.duration) return 0;
+            let h = (from.duration / 60 / 60).toFixed(2)
+            return (Number(h) * (infoBox.value.salary / 10 / 10)).toFixed(2) || 0
+        }
+    })
+
+    // 杈炬爣鐜�
+    const complianceRate = computed(() => {
+        if (!infoBox.value) return 0;
+        if (!produceFrom.qualified && !produceFrom.undesirable) 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) || 0
+                // let total = (Number(from.qualified) + Number(from.undesirable)) / ((from.duration * 60 * 60) * infoBox.value.num / )
+                // return total * infoBox.value.salary;
+            } else {
+                let a = (produceFrom.qualified / (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) || 0
+                // return Number(from.qualified) * infoBox.value.salary;
+            }
+        // } else {
+        //     console.log('鎸夋椂闀�')
+        // }
+    })
+
     const loading = ref(false);
     const finished = ref(false);
     let show = ref(false)
@@ -345,13 +475,17 @@
         page: 0
     })
 
+    let infoBox: any = ref(null)     // 宸ヨ祫缁╂晥
+
     // 浜у嚭鍚堟牸/涓嶈壇
-    let produceFrom = reactive({
+    let produceFrom: any = reactive({
         qualifiedId: '',
         qualified: '',  // 鍚堟牸
         undesirableId: '',
         undesirable: '' // 涓嶈壇
     })
+
+    let cateList:any = ref([])  // 涓嶈壇椤�
 
     // 璇︽儏鏁版嵁
     const info: any = ref({})
@@ -404,6 +538,70 @@
     // 鎺у埗鎶ュ伐缁熻
     const statistics = ref<boolean>(false)
 
+    const changeChecked = (i: number) => {
+        cateList.value[i].active = !cateList.value[i].active
+    }
+
+    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 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 onCancel2 = () => {
+        TimeShow.value = false
+    }
+
+    const onConfirm3 = () => {
+        let isOpen = false
+        cateList.value.forEach((item: any, index: number) => {
+            if (item.active) {
+                isOpen = true
+            }
+        })
+        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 + '锛�'
+            }
+        })
+        if (total !== produceFrom.undesirable) return Toast('涓嶈壇鏁板繀椤荤瓑浜庝骇鍑轰笉鑹暟')
+        from.defective = arr
+        from.defectiveName = name
+        show.value = false
+    }
+
     // 鎶曟枡缁熻
     const tlTotal = (): string => {
         if (feedingData.value.length > 0) {
@@ -419,18 +617,19 @@
     // 淇敼浜у嚭
     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()
-                }
-            })
+            from.defective = []
+            from.defectiveName = ''
+            // dealWorkorderRecordStandard({
+            //     downType, num, recordId, workorderId: route.query.id
+            // }).then(res => {
+            //     if (res.code === 200) {
+            //         getOrocessRecordCC()
+            //     }
+            // })
         } else {
             if (downType == 0) {
                 produceFrom.qualified = 0
@@ -602,6 +801,17 @@
         queryById(route.query.id).then(res => {
             if (res.code === 200) {
                 info.value = res.data
+                // 鑾峰彇宸ヨ祫缁╂晥鏁版嵁
+                queryOne({
+                    deleted: 0,
+                    departId: res.data.factoryId,
+                    materialId: res.data.materialId,
+                    procedureId: res.data.procedureId
+                }).then((result: any) => {
+                    if (result.code === 200) {
+                        infoBox.value = result.data
+                    }
+                })
             }
         })
     }
@@ -688,7 +898,7 @@
             if (res.code === 200 && type === 'T') {
                 getOrocessRecords()
             } else if (res.code === 200 && type === 'C') {
-                getOrocessRecordCC()
+                // getOrocessRecordCC()
             }
         })
     }
@@ -698,6 +908,10 @@
         if (info.value.bomType === 1) {  // 鎷夊紡
             console.log('鎷夊紡')
             statisticsData.value = []
+            if (produceFrom.qualified <= 0) {
+                Toast.fail({ message: '浜у嚭鏄庣粏涓嶈兘涓虹┖' })
+                return
+            }
             if (info.value.hasBom === 0) {
                 console.log('鏃燽om')
                 // let data: any = [
@@ -853,6 +1067,10 @@
                 Toast.fail({ message: '鎶曟枡鏄庣粏涓嶈兘涓虹┖' })
                 return
             }
+            if (produceFrom.qualified <= 0) {
+                Toast.fail({ message: '浜у嚭鏄庣粏涓嶈兘涓虹┖' })
+                return
+            }
             statisticsData.value = []
             if (info.value.hasBom === 0) {
                 console.log('鏃燽om')
@@ -976,8 +1194,25 @@
 
     // 纭鎶ュ伐
     const submitBG = () => {
+        if (!from.duration || from.duration <= 0) {
+            return Toast('鎶ュ伐鏃堕暱涓嶈兘涓虹┖')
+        }
+        let createUnqualifiedDTOList = from.defective.map((item: any) => {
+            return {
+                categoryId: item.id,
+                unQualifiedNum: item.num
+            }
+        })
+        let createWorkorderRecordDTO = {
+            workorderId: route.query.id,
+            duration: from.duration,
+            qualifiedNum: produceFrom.qualified ? produceFrom.qualified : 0,
+            unQualifiedNum: produceFrom.undesirable ? produceFrom.undesirable : 0
+        }
+        // id: route.query.id
         comfirmDoneStandard({
-            id: route.query.id
+            createUnqualifiedDTOList,
+            createWorkorderRecordDTO
         }).then(res => {
             if (res.code === 200) {
                 Toast.success({ message: '鎶ュ伐鎴愬姛', forbidClick: true, duration: 2000 })
@@ -992,7 +1227,8 @@
         pageDJs()
         queryByIds()
         getOrocessRecords()
-        getOrocessRecordCC()
+        getData()
+        // getOrocessRecordCC()
     })
 </script>
 
@@ -1002,6 +1238,59 @@
         /*height: 100%;*/
         position: absolute;
         background: #F7F7F7;
+        .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;
+            span {
+                font-size: 30px;
+                font-family: PingFangSC-Regular, PingFang SC;
+                font-weight: 400;
+                color: #222222;
+                b {
+                    color: red;
+                }
+            }
+            .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;
+                span {
+                    font-size: 28px;
+                    font-family: PingFangSC-Regular, PingFang SC;
+                    font-weight: 400;
+                    color: #999999;
+                }
+                img {
+                    width: 12px;
+                    height: 24px;
+                    margin-left: 20px;
+                }
+            }
+        }
         .details_cz {
             width: 100%;
             padding: 30px;
@@ -1125,99 +1414,161 @@
                         }
                     }
                 }
-                .bg_list_item_num {
+                .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;
+                                }
+                            }
+                            .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;
+                                }
                             }
                         }
                     }
@@ -1423,12 +1774,15 @@
             }
         }
         .bl {
+            width: 100%;
+            height: 800px;
             padding: 30px;
             box-sizing: border-box;
             display: flex;
             flex-direction: column;
             .bl_head {
                 width: 100%;
+                height: 50px;
                 display: flex;
                 align-items: center;
                 justify-content: space-between;
@@ -1439,21 +1793,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: calc(100% - 168px);
                 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;
@@ -1462,6 +1833,7 @@
                         input {
                             width: 30px;
                             height: 30px;
+                            border: 1PX solid #CCCCCC;
                             margin: 0 !important;
                         }
                         span {
@@ -1478,9 +1850,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;
+                            }
                         }
                     }
                 }
diff --git a/h5_standard/src/views/wxLogin.vue b/h5_standard/src/views/wxLogin.vue
index 6ef2cc8..3d56b83 100644
--- a/h5_standard/src/views/wxLogin.vue
+++ b/h5_standard/src/views/wxLogin.vue
@@ -157,6 +157,7 @@
                     input {
                         flex: 1;
                         height: 100%;
+                        padding: 0 !important;
                         font-size: 30px;
                         font-family: PingFangSC-Regular, PingFang SC;
                         font-weight: 400;
diff --git a/web_standard/.env.development b/web_standard/.env.development
index 7327196..9b93c1d 100644
--- a/web_standard/.env.development
+++ b/web_standard/.env.development
@@ -14,9 +14,12 @@
 VUE_APP_API_PREFIX = ''
 
 # 鐒︽澗
-VUE_APP_BASE_URL = 'http://192.168.0.36:10021/'
+# VUE_APP_BASE_URL = 'http://192.168.0.36:10021/'
 # VUE_APP_BASE_URL = 'http://192.168.0.134:10021/'
 
+# 浠诲悍鏈湴
+VUE_APP_BASE_URL = 'http://192.168.0.15:10021/'
+
 # 姹熻悕
 # VUE_APP_BASE_URL = 'http://192.168.0.35:10021/'
 

--
Gitblit v1.9.3