k94314517
2023-09-05 fa2f172812de8344fa22c4ef088ea2a67257a0d3
h5_standard/src/views/workOrder/workOrderReporting.vue
@@ -15,7 +15,8 @@
            </div>
        </div> -->
        <div class="bg_cate">
            <div @click="clickIten(index)" :class="typeView == index ? 'bg_cate_item active' : 'bg_cate_item'" v-for="(item, index) in cate" :key="index">{{ item.name }}</div>
      <div @click="clickIten(index)" :class="typeView == index ? 'bg_cate_item active' : 'bg_cate_item'"
        v-for="(item, index) in cate" :key="index">{{ item.name }}</div>
        </div>
        <!--  投料明细/合格产出明细/不良产出明细  -->
        <div class="bg_list" v-if="typeView === 0">
@@ -26,7 +27,8 @@
                            <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)">
          <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>
                        </div>
@@ -38,7 +40,8 @@
                                    <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>
                    <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>
@@ -48,7 +51,8 @@
                                            </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" />
                    <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>
@@ -83,7 +87,8 @@
                                        <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="请输入" />
                  <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>
@@ -99,7 +104,8 @@
                                        <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="请输入" />
                  <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>
@@ -112,7 +118,8 @@
                                    <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>
                  <span class="wulll" :style="{ color: from.defectiveName ? '#305ED5' : '' }">{{ from.defectiveName ?
                    from.defectiveName : '设置' }}</span>
                                            <img src="@/assets/icon/ic_ar@2x.png" alt="" />
                                        </div>
                                    </div>
@@ -147,7 +154,8 @@
                            <div class="bg_list_item_num_item">
                                <span>计件方式</span>
                                <div class="bg_list_item_num_item_list">
                                    <div :class="item.active ? 'bg_list_item_num_item_list_item active' : 'bg_list_item_num_item_list_item'" v-for="(item, index) in arrType" :key="index" @click="clickPerformanceType(index)">{{ item.name }}</div>
                <div :class="item.active ? 'bg_list_item_num_item_list_item active' : 'bg_list_item_num_item_list_item'"
                  v-for="(item, index) in arrType" :key="index" @click="clickPerformanceType(index)">{{ item.name }}</div>
                                    <!-- <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>
@@ -157,7 +165,8 @@
                            <div class="bg_list_item_num_item">
                                <span>工资单价</span>
                                <div class="bg_list_item_num_item_sr">
                                    <span class="color1">{{(arrType[from.index].salary / 10 / 10).toFixed(2)}}元/{{arrType[from.index].type == 0 ? '件' : '时'}}</span>
                <span class="color1">{{ (arrType[from.index].salary / 10 / 10).toFixed(2) }}元/{{ arrType[from.index].type ==
                  0 ? '件' : '时' }}</span>
                                    <!-- <span class="color1">{{infoBox.salary / 100}}元/{{infoBox.type == 0 ? '件' : '时'}}</span> -->
                                </div>
                            </div>
@@ -289,11 +298,7 @@
                </div>
            </div> -->
            <div class="details_dj_list">
                <van-list
                    v-model:loading="loading"
                    :finished="finished"
                    finished-text="没有更多了~"
                    @load="pageDJs">
        <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>
@@ -319,11 +324,7 @@
            </div>
        </template>
        <!--  扫码组件  -->
        <v-ScanCode
            :openCode="openCode"
            :infos="['请扫描工装码']"
            @closePopup="closePopup"
            @onDecode="onDecode" />
    <v-ScanCode :openCode="openCode" :infos="['请扫描工装码']" @closePopup="closePopup" @onDecode="onDecode" />
        <!--  报工统计数据  -->
        <van-popup v-model:show="statistics" round :closeable="true" position="bottom">
            <div class="tg">
@@ -350,20 +351,15 @@
                    </div>
                </div>
                <div class="tg_footer">
                    <button class="tg_footer_qr" @click="submitBG" v-if="proxy.$auth('h5:workorderoutput:confirm') && isSubmit">确认报工</button>
          <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>
        <!-- 时间 -->
        <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-datetime-picker v-model="from.time" type="time" title="选择时间" @confirm="onConfirm2" @cancel="onCancel2" />
        </van-popup>
        <!-- 选择不良项 -->
        <van-popup v-model:show="show" round position="bottom">
@@ -1319,6 +1315,7 @@
        /*height: 100%;*/
        position: absolute;
        background: #F7F7F7;
        .bg_plan {
            width: 100%;
            // height: 98px;
@@ -1329,24 +1326,29 @@
            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;
@@ -1356,15 +1358,18 @@
                    }
                }
            }
            .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;
@@ -1372,6 +1377,7 @@
                }
            }
        }
        .details_cz {
            width: 100%;
            padding: 30px;
@@ -1379,6 +1385,7 @@
            display: flex;
            align-items: center;
            justify-content: space-between;
            .details_cz_sdtl {
                width: 330px;
                height: 76px;
@@ -1387,17 +1394,20 @@
                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;
                }
            }
            .details_cz_smtl {
                /*width: 330px;*/
                flex: 1;
@@ -1407,11 +1417,13 @@
                display: flex;
                align-items: center;
                justify-content: center;
                img {
                    width: 28px;
                    height: 28px;
                    margin-right: 14px;
                }
                span {
                    font-size: 26px;
                    font-weight: 400;
@@ -1419,6 +1431,7 @@
                }
            }
        }
        .bg_cate {
            width: 100%;
            height: 88px;
@@ -1426,11 +1439,13 @@
            margin-top: 20px;
            display: flex;
            align-items: center;
            .active {
                box-sizing: border-box;
                color: #305ED5 !important;
                border-bottom: 2PX solid #305ED5;
            }
            .bg_cate_item {
                flex: 1;
                height: 100%;
@@ -1443,24 +1458,29 @@
                color: #555555;
            }
        }
        .bg_list {
            width: 100%;
            display: flex;
            flex-direction: column;
            margin-top: 30px;
            .bg_list_item {
                display: flex;
                flex-direction: column;
                margin-bottom: 40px;
                .kong {
                    text-align: center;
                    padding: 30px 0;
                    background: #ffffff;
                    font-size: 25px;
                    span {
                        color: #474747;
                    }
                }
                .bg_list_item_top {
                    display: flex;
                    align-items: center;
@@ -1468,13 +1488,16 @@
                    padding-left: 30px;
                    padding-right: 30px;
                    margin-bottom: 30px;
                    .bg_list_item_top_left {
                        display: flex;
                        align-items: center;
                        .left {
                            margin-left: 12px;
                            font-size: 28px;
                        }
                        .warning {
                            width: 8px;
                            height: 30px;
@@ -1482,6 +1505,7 @@
                            margin-right: 12px;
                            background: $nav-stateColor5 !important;
                        }
                        .error {
                            width: 8px;
                            height: 30px;
@@ -1489,6 +1513,7 @@
                            margin-right: 12px;
                            background: $nav-stateColor4 !important;
                        }
                        .bg_list_item_top_left_x {
                            width: 8px;
                            height: 30px;
@@ -1496,6 +1521,7 @@
                            border-radius: 2px;
                            margin-right: 12px;
                        }
                        span {
                            font-size: 32px;
                            font-weight: 500;
@@ -1504,14 +1530,17 @@
                            align-items: center;
                        }
                    }
                    .bg_list_item_top_right {
                        display: flex;
                        align-items: center;
                        img {
                            width: 28px;
                            height: 28px;
                            margin-right: 12px;
                        }
                        span {
                            font-size: 28px;
                            font-weight: 400;
@@ -1519,11 +1548,13 @@
                        }
                    }
                }
                .bg_list_item_h {
                    width: 100%;
                    padding: 0 30px;
                    box-sizing: border-box;
                    background: white;
                    .bg_list_item_num {
                        width: 100%;
                        min-height: 98px;
@@ -1532,15 +1563,18 @@
                        justify-content: center;
                        align-items: center;
                        border-bottom: 1PX solid #E5E5E5;
                        &:last-child {
                            border: none !important;
                        }
                        .kong {
                            text-align: center;
                            font-size: 25px;
                            padding: 30px 0;
                            background: #ffffff;
                        }
                        .bg_list_item_num_item {
                            width: 100%;
                            height: 100%;
@@ -1551,16 +1585,20 @@
                            box-sizing: border-box;
                            justify-content: space-between;
                            border-bottom: 1px solid #E5E5E5;
                            &:last-child {
                                border: none;
                            }
                            .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;
@@ -1573,61 +1611,75 @@
                                    font-weight: 400;
                                    color: #333333;
                                    margin-right: 20px;
                                    &:last-child {
                                        margin: 0 !important;
                                    }
                                }
                            }
                            .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;
                            }
                            .err {
                                color: $nav-stateColor4 !important;
                            }
                            img {
                                width: 12px;
                                height: 24px;
                                margin-left: 20px;
                            }
                            span {
                                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;
@@ -1635,20 +1687,24 @@
                                    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;
@@ -1661,6 +1717,7 @@
                                    color: #333333;
                                    padding: 0 30px
                                }
                                .wulll {
                                    width: 400px;
                                    text-align: right;
@@ -1668,6 +1725,7 @@
                                    white-space: nowrap;
                                    text-overflow: ellipsis;
                                }
                                span {
                                    font-size: 28px;
                                    font-family: PingFangSC-Regular, PingFang SC;
@@ -1680,9 +1738,11 @@
                }
            }
        }
        .details_dj {
            display: flex;
            flex-direction: column;
            .details_dj_title {
                width: 100%;
                display: flex;
@@ -1690,9 +1750,11 @@
                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;
@@ -1700,20 +1762,24 @@
                        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;
@@ -1721,6 +1787,7 @@
                    }
                }
            }
            .details_dj_list {
                width: 100%;
                /*padding: 30px;*/
@@ -1728,11 +1795,13 @@
                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;*/
@@ -1742,6 +1811,7 @@
                            font-weight: 400;
                            color: #222222;
                        }
                        &:nth-child(2) {
                            font-size: 24px;
                            font-weight: 400;
@@ -1752,9 +1822,11 @@
                }
            }
        }
        .bh_zw {
            height: 160px;
        }
        .bg_footer {
            position: fixed;
            bottom: 0;
@@ -1762,6 +1834,7 @@
            width: 100%;
            padding: 0 30px 60px 30px;
            box-sizing: border-box;
            .bg_footer_submit1 {
                width: 690px;
                height: 76px;
@@ -1771,11 +1844,13 @@
                display: flex;
                align-items: center;
                justify-content: center;
                img {
                    width: 28px;
                    height: 28px;
                    margin-right: 12px;
                }
                span {
                    font-size: 26px;
                    font-family: PingFangSC-Regular, PingFang SC;
@@ -1783,6 +1858,7 @@
                    color: #305ED5;
                }
            }
            .bg_footer_submit {
                width: 690px;
                height: 88px;
@@ -1797,11 +1873,13 @@
                justify-content: center;
            }
        }
        .tg {
            width: 100%;
            height: 800px;
            padding: 30px;
            box-sizing: border-box;
            .tg_header {
                width: 100%;
                height: 45px;
@@ -1811,15 +1889,18 @@
                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;
@@ -1831,10 +1912,12 @@
                    }
                }
            }
            .nr {
                width: 100%;
                max-height: calc(100% - 133px);
                overflow-x: scroll;
                .tg_table_nr {
                    width: 100%;
                    padding: 24px 10px;
@@ -1843,6 +1926,7 @@
                    align-items: center;
                    background: white;
                    box-shadow: inset 0px -2px 0px 0px #E5E5E5;
                    .tg_table_nr_item {
                        flex: 1;
                        font-size: 26px;
@@ -1852,6 +1936,7 @@
                        align-items: center;
                        justify-content: center;
                    }
                    .tg_table_nr_item1 {
                        flex: 1;
                        font-size: 26px;
@@ -1864,6 +1949,7 @@
                }
            }
        }
        .tg_footer {
            width: calc(100% - 60px);
            position: fixed;
@@ -1873,6 +1959,7 @@
            align-items: center;
            box-sizing: border-box;
            padding-bottom: 40px;
            .tg_footer_fh {
                width: 100%;
                height: 88px;
@@ -1886,6 +1973,7 @@
                font-weight: 500;
                color: $nav-color;
            }
            .tg_footer_qr {
                width: 100%;
                height: 88px;
@@ -1900,6 +1988,7 @@
                color: #FFFFFF;
            }
        }
        .bl {
            width: 100%;
            height: 800px;
@@ -1907,24 +1996,29 @@
            box-sizing: border-box;
            display: flex;
            flex-direction: column;
            .bl_head {
                width: 100%;
                height: 50px;
                display: flex;
                align-items: center;
                justify-content: space-between;
                span {
                    font-size: 28px;
                    color: #222222;
                    &:nth-child(2) {
                        font-size: 32px !important;
                    }
                }
                img {
                    width: 28px;
                    height: 28px;
                }
            }
            .bl_footer {
                width: 100%;
                height: 88px;
@@ -1938,11 +2032,13 @@
                color: #FFFFFF;
                margin-top: 30px;
            }
            .bl_list {
                width: 100%;
                height: calc(100% - 168px);
                overflow-y: scroll;
                margin-top: 30px;
                .bl_list_item {
                    width: 100%;
                    height: 96px;
@@ -1950,29 +2046,35 @@
                    align-items: center;
                    justify-content: space-between;
                    border-bottom: 1PX solid #E5E5E5;
                    &:last-child {
                        border: none !important;
                    }
                    .bl_list_item_left {
                        flex: 1;
                        display: flex;
                        align-items: center;
                        input {
                            width: 30px;
                            height: 30px;
                            border: 1PX solid #CCCCCC;
                            margin: 0 !important;
                        }
                        span {
                            font-size: 30px;
                            color: #222222;
                            margin-left: 10px;
                        }
                    }
                    .bl_list_item_right {
                        flex: 1;
                        height: 50px;
                        text-align: right;
                        input {
                            padding-left: 5px;
                            width: 160px;
@@ -1984,6 +2086,7 @@
                            color: #333333;
                            border-radius: 10px;
                            border: 1PX solid #CCCCCC;
                            &::-webkit-input-placeholder {
                                font-size: 28px;
                                font-family: PingFangSC-Regular, PingFang SC;
@@ -1995,5 +2098,4 @@
                }
            }
        }
    }
</style>
}</style>