<template>  
 | 
    <view class="content">  
 | 
        <div :class="{ 'content_top': status }" class="content_search">  
 | 
            <v-Search @searchInput="searchInput" @submit="submit" @reset="reset" :isShow="true"  
 | 
                placeholder="搜索工单编码/工序名称">  
 | 
                <template v-slot:content>  
 | 
                    <div class="Search_item">  
 | 
                        <div class="Search_item_label">计划日期</div>  
 | 
                        <div class="Search_item_content" @click="isOpenDate=true">  
 | 
                            <div class="Search_item_content_a" :style="form.startDate ? 'color: #000;' : ''">  
 | 
                                {{ form.startDate ? form.startDate : '开始日期'}}</div>  
 | 
                            <span>-</span>  
 | 
                            <div class="Search_item_content_a" :style="form.endDate ? 'color: #000;' : ''">  
 | 
                                {{ form.endDate ? form.endDate : '结束日期'}}</div>  
 | 
                        </div>  
 | 
                    </div>  
 | 
                </template>  
 | 
            </v-Search>  
 | 
            <div class="content_search_x"></div>  
 | 
            <v-LableSelection :TagList="tagList" :isShow="true" @change="clickTag"></v-LableSelection>  
 | 
        </div>  
 | 
        <div class="content_total">共{{page.total}}条数据</div> 
 | 
        <div class="content_list"> 
 | 
            <u-list @scrolltolower="scrolltolower" @scrolltoupper="scrolltoupper"> 
 | 
                <u-list-item  v-for="(item, i) in list" :key="i"> 
 | 
                    <div class="content_list_item" @click="jump(item)"> 
 | 
                        <div class="content_list_item_top"> 
 | 
                            <div class="content_list_item_top_left"> 
 | 
                                <span v-if="item.mmodel">{{item.mmodel.name}} | {{item.procedureName}}</span> 
 | 
                                <div class="content_list_item_top_left_tag" v-if="item.urgent">优先{{item.urgent}}</div> 
 | 
                                <div class="content_list_item_top_left_tagW" v-if="item.paused === 1">停</div> 
 | 
                            </div> 
 | 
                            <div class="content_list_item_top_right"> 
 | 
                                <span class="yellow" v-if="item.status === 0">已创建</span> 
 | 
                                <span class="green" v-if="item.status === 1">已备料</span> 
 | 
                                <span v-if="item.status === 2">已完工</span> 
 | 
                                <span class="purple" v-if="item.status === 3">已检验</span> 
 | 
                                <span v-if="item.status === 4">已报工</span> 
 | 
                                <span v-if="item.status === 5">已入库</span> 
 | 
                                <span v-if="item.status === 6">已取消</span> 
 | 
                            </div> 
 | 
                        </div> 
 | 
                        <span>工单编码: {{item.code}}</span> 
 | 
                        <div class="content_list_item_content"> 
 | 
                            <div class="content_list_item_content_item"> 
 | 
                                <div class="content_list_item_content_item_label">物料编码:</div> 
 | 
                                <div class="content_list_item_content_item_nr" v-if="item.mmodel">{{item.mmodel.code}} 
 | 
                                </div> 
 | 
                            </div> 
 | 
                            <div class="content_list_item_content_item"> 
 | 
                                <div class="content_list_item_content_item_label">计划开工:</div> 
 | 
                                <div class="content_list_item_content_item_nr">{{item.planDate}}</div> 
 | 
                            </div> 
 | 
                            <div class="content_list_item_content_item"> 
 | 
                                <div class="content_list_item_content_item_label">生产批次:</div> 
 | 
                                <div class="content_list_item_content_item_nr">{{item.batch}}</div> 
 | 
                            </div> 
 | 
                            <div class="content_list_item_content_item"> 
 | 
                                <div class="content_list_item_content_item_label">计划数量:</div> 
 | 
                                <div class="content_list_item_content_item_nr" v-if="item.umodel"> 
 | 
                                    {{item.planNum}}{{item.umodel.name}}</div> 
 | 
                            </div> 
 | 
                            <div class="content_list_item_content_item"> 
 | 
                                <div class="content_list_item_content_item_label">生产设备:</div> 
 | 
                                <div class="content_list_item_content_item_nr" v-if="item.pgmodel">{{item.pgmodel.name}} 
 | 
                                </div> 
 | 
                            </div> 
 | 
                            <div class="content_list_item_content_item" v-if="item.status === 5"> 
 | 
                                <div class="content_list_item_content_item_label">完工数量:</div> 
 | 
                                <div class="content_list_item_content_item_nr">{{item.proNum}}</div> 
 | 
                            </div> 
 | 
                        </div> 
 | 
                    </div> 
 | 
                </u-list-item> 
 | 
            </u-list> 
 | 
        </div>  
 | 
        <!-- <van-pull-refresh v-model="refreshing" @refresh="onRefresh">  
 | 
            <van-list v-model:loading="loading" :finished="finished" finished-text="没有更多了~" @load="onLoad">  
 | 
            </van-list>  
 | 
        </van-pull-refresh> --> 
 | 
        <u-calendar :show="isOpenDate" mode="range" @close="isOpenDate=false" @confirm="onConfirm"></u-calendar>  
 | 
        <!-- <van-calendar v-model:show="isOpenDate" type="range" :min-date="minDate" :max-date="maxDate" color="#4275FC"  
 | 
            @confirm="onConfirm" /> -->  
 | 
        <!-- <v-ScanCode  
 | 
                    :openCode="openCode"  
 | 
                    :infos="['第一次扫码']"  
 | 
                    @closePopup="closePopup"  
 | 
                    @onDecode="onDecode">  
 | 
                </v-ScanCode> -->  
 | 
    </view>  
 | 
</template>  
 | 
  
 | 
<script> 
 | 
    import vSearch from '@/components/Search.vue' 
 | 
    import vLableSelection from '@/components/LabelSelection.vue' 
 | 
    import { gsdate } from '@/util/utils'  
 | 
    export default { 
 | 
        components: { 
 | 
            vSearch, 
 | 
            vLableSelection 
 | 
        },  
 | 
        data() {  
 | 
            return {  
 | 
                status: true, 
 | 
                isOpenDate: false, 
 | 
                // tagList: [1,2,3], 
 | 
                form: { 
 | 
                    startDate: '', 
 | 
                    endDate: '' 
 | 
                }, 
 | 
                list: [ 
 | 
                    { 
 | 
                        mmodel: { name: 'adsa', }, 
 | 
                        mmodel: { code: 'wl-001' }, 
 | 
                        umodel: { name: '吨' }, 
 | 
                        pgmodel: { name: '液压机' }, 
 | 
                        procedureName: '压制', 
 | 
                        urgent: 10, 
 | 
                        paused: 0, 
 | 
                        status: 0, 
 | 
                        code: '00100', 
 | 
                        planDate: '2023-08-30', 
 | 
                        batch: 'kk-yw', 
 | 
                        planNum: 300, 
 | 
                        proNum: 100, 
 | 
                    }, 
 | 
                    { 
 | 
                        mmodel: { name: 'adsa', }, 
 | 
                        mmodel: { code: 'wl-001' }, 
 | 
                        umodel: { name: '吨' }, 
 | 
                        pgmodel: { name: '液压机' }, 
 | 
                        procedureName: '压制', 
 | 
                        urgent: 10, 
 | 
                        paused: 0, 
 | 
                        status: 1, 
 | 
                        code: '00100', 
 | 
                        planDate: '2023-08-30', 
 | 
                        batch: 'kk-yw', 
 | 
                        planNum: 300, 
 | 
                        proNum: 100 
 | 
                    }, 
 | 
                    { 
 | 
                        mmodel: { name: 'adsa', }, 
 | 
                        mmodel: { code: 'wl-001' }, 
 | 
                        umodel: { name: '吨' }, 
 | 
                        pgmodel: { name: '液压机' }, 
 | 
                        procedureName: '压制', 
 | 
                        urgent: 10, 
 | 
                        paused: 0, 
 | 
                        status: 2, 
 | 
                        code: '00100', 
 | 
                        planDate: '2023-08-30', 
 | 
                        batch: 'kk-yw', 
 | 
                        planNum: 300, 
 | 
                        proNum: 100, 
 | 
                    }, 
 | 
                    { 
 | 
                        mmodel: { name: 'adsa', }, 
 | 
                        mmodel: { name: '物料001', code: 'wl-001' }, 
 | 
                        umodel: { name: '吨' }, 
 | 
                        pgmodel: { name: '液压机' }, 
 | 
                        procedureName: '压制', 
 | 
                        urgent: 10, 
 | 
                        paused: 0, 
 | 
                        status: 3, 
 | 
                        code: '00100', 
 | 
                        planDate: '2023-08-30', 
 | 
                        batch: 'kk-yw', 
 | 
                        planNum: 300, 
 | 
                        proNum: 100, 
 | 
                    }, 
 | 
                    { 
 | 
                        mmodel: { name: 'adsa', }, 
 | 
                        mmodel: { code: 'wl-001' }, 
 | 
                        umodel: { name: '吨' }, 
 | 
                        pgmodel: { name: '液压机' }, 
 | 
                        procedureName: '压制', 
 | 
                        urgent: 10, 
 | 
                        paused: 0, 
 | 
                        status: 4, 
 | 
                        code: '00100', 
 | 
                        planDate: '2023-08-30', 
 | 
                        batch: 'kk-yw', 
 | 
                        planNum: 300, 
 | 
                        proNum: 100, 
 | 
                    }, 
 | 
                    { 
 | 
                        mmodel: { name: 'adsa', }, 
 | 
                        mmodel: { code: 'wl-001' }, 
 | 
                        umodel: { name: '吨' }, 
 | 
                        pgmodel: { name: '液压机' }, 
 | 
                        procedureName: '压制', 
 | 
                        urgent: 10, 
 | 
                        paused: 0, 
 | 
                        status: 5, 
 | 
                        code: '00100', 
 | 
                        planDate: '2023-08-30', 
 | 
                        batch: 'kk-yw', 
 | 
                        planNum: 300, 
 | 
                        proNum: 100, 
 | 
                    }, 
 | 
                    { 
 | 
                        mmodel: { name: 'adsa', }, 
 | 
                        mmodel: { code: 'wl-001' }, 
 | 
                        umodel: { name: '吨' }, 
 | 
                        pgmodel: { name: '液压机' }, 
 | 
                        procedureName: '压制', 
 | 
                        urgent: 10, 
 | 
                        paused: 0, 
 | 
                        status: 6, 
 | 
                        code: '00100', 
 | 
                        planDate: '2023-08-30', 
 | 
                        batch: 'kk-yw', 
 | 
                        planNum: 300, 
 | 
                        proNum: 100, 
 | 
                    }, 
 | 
                    { 
 | 
                        mmodel: { name: 'adsa', }, 
 | 
                        mmodel: { code: 'wl-001' }, 
 | 
                        umodel: { name: '吨' }, 
 | 
                        pgmodel: { name: '液压机' }, 
 | 
                        procedureName: '压制', 
 | 
                        urgent: 10, 
 | 
                        paused: 0, 
 | 
                        status: 7, 
 | 
                        code: '00100', 
 | 
                        planDate: '2023-08-30', 
 | 
                        batch: 'kk-yw', 
 | 
                        planNum: 300, 
 | 
                        proNum: 100, 
 | 
                    }, 
 | 
                ], 
 | 
                page: { 
 | 
                    size: 10, 
 | 
                    index: 1, 
 | 
                    total: 0 
 | 
                }  
 | 
            };  
 | 
        }, 
 | 
        methods: { 
 | 
            reset() {}, 
 | 
            submit() {}, 
 | 
            onConfirm(value) { 
 | 
                const [start, end] = value 
 | 
                this.form.startDate = gsdate(start) 
 | 
                this.form.endDate = gsdate(end) 
 | 
                this.isOpenDate = false 
 | 
            }, 
 | 
            scrolltolower() {}, 
 | 
            scrolltoupper() {}, 
 | 
            jump(item) { 
 | 
                uni.$emit('workOrder', item) 
 | 
                uni.navigateBack() 
 | 
            } 
 | 
        }  
 | 
    }  
 | 
</script>  
 | 
  
 | 
<style lang="scss" scoped>  
 | 
    .content {  
 | 
        .content_code {  
 | 
            position: fixed;  
 | 
            right: 30rpx;  
 | 
            bottom: 100rpx;  
 | 
  
 | 
            img {  
 | 
                width: 138rpx;  
 | 
                height: 138rpx;  
 | 
            }  
 | 
        }  
 | 
  
 | 
        .content_top {  
 | 
            top: 0 !important;  
 | 
        }  
 | 
  
 | 
        .content_search {  
 | 
            padding: 30rpx;  
 | 
            background: white;  
 | 
            position: sticky;  
 | 
            top: 88rpx;  
 | 
            z-index: 9;  
 | 
  
 | 
            .Search_item {  
 | 
                margin-bottom: 40rpx;  
 | 
  
 | 
                .Search_item_label {  
 | 
                    font-size: 30rpx;  
 | 
                    font-weight: 500;  
 | 
                    color: #222222;  
 | 
                }  
 | 
  
 | 
                .Search_item_content {  
 | 
                    display: flex;  
 | 
                    align-items: center;  
 | 
                    justify-content: space-between;  
 | 
                    margin-top: 30rpx;  
 | 
  
 | 
                    .tag {  
 | 
                        display: flex;  
 | 
                        flex-wrap: wrap;  
 | 
                        align-items: center;  
 | 
  
 | 
                        .tag_active {  
 | 
                            background: $nav-color !important;  
 | 
                            color: #ffffff !important;  
 | 
                        }  
 | 
  
 | 
                        .tag_item {  
 | 
                            width: 156rpx;  
 | 
                            height: 70rpx;  
 | 
                            box-sizing: border-box;  
 | 
                            background: #F2F2F2;  
 | 
                            border-radius: 8rpx;  
 | 
                            font-size: 26rpx;  
 | 
                            font-weight: 400;  
 | 
                            color: #333333;  
 | 
                            display: flex;  
 | 
                            align-items: center;  
 | 
                            justify-content: center;  
 | 
                            margin-right: 22rpx;  
 | 
                            margin-bottom: 22rpx;  
 | 
  
 | 
                            &:nth-child(4n) {  
 | 
                                margin-right: 0;  
 | 
                            }  
 | 
                        }  
 | 
                    }  
 | 
  
 | 
                    span {  
 | 
                        font-size: 26rpx;  
 | 
                        font-weight: 400;  
 | 
                        color: #333333;  
 | 
                    }  
 | 
  
 | 
                    .Search_item_content_a {  
 | 
                        width: 308rpx;  
 | 
                        height: 70rpx;  
 | 
                        background: #F7F7F7;  
 | 
                        border-radius: 8rpx;  
 | 
                        border: 1rpx solid #EEEEEE;  
 | 
                        font-size: 26rpx;  
 | 
                        font-weight: 400;  
 | 
                        color: #B2B2B2;  
 | 
                        display: flex;  
 | 
                        align-items: center;  
 | 
                        justify-content: center;  
 | 
                    }  
 | 
                }  
 | 
            }  
 | 
  
 | 
            .content_search_x {  
 | 
                height: 24rpx;  
 | 
            }  
 | 
        }  
 | 
  
 | 
        .content_total {  
 | 
            padding: 24rpx 30rpx;  
 | 
            background: #F7F7F7;  
 | 
            font-size: 24rpx;  
 | 
            font-weight: 400;  
 | 
            color: #666666;  
 | 
        }  
 | 
  
 | 
        .content_list {  
 | 
            width: 100%;  
 | 
            height: 100%;  
 | 
            display: flex;  
 | 
            flex-direction: column;  
 | 
  
 | 
            .content_list_item {  
 | 
                padding: 30rpx;  
 | 
                display: flex;  
 | 
                flex-direction: column;  
 | 
                border-bottom: 1rpx solid #ececec;  
 | 
                background: white;  
 | 
  
 | 
                span {  
 | 
                    color: #5a5a5a;  
 | 
                    margin-top: 15rpx;  
 | 
                }  
 | 
  
 | 
                .content_list_item_top {  
 | 
                    display: flex;  
 | 
                    align-items: center;  
 | 
                    justify-content: space-between;  
 | 
  
 | 
                    .content_list_item_top_left {  
 | 
                        display: flex;  
 | 
                        align-items: center;  
 | 
                        width: 80%;  
 | 
  
 | 
                        span {  
 | 
                            font-size: 32rpx;  
 | 
                            font-weight: 500;  
 | 
                            color: #333333;  
 | 
                            overflow: hidden;  
 | 
                            white-space: nowrap;  
 | 
                            text-overflow: ellipsis;  
 | 
                            -o-text-overflow: ellipsis;  
 | 
                        }  
 | 
  
 | 
                        .content_list_item_top_left_tagW {  
 | 
                            margin-top: 14rpx;  
 | 
                            flex-shrink: 0;  
 | 
                            box-sizing: border-box;  
 | 
                            padding: 5rpx 10rpx;  
 | 
                            background: $nav-stateColor5;  
 | 
                            border-radius: 8rpx;  
 | 
                            font-size: 22rpx;  
 | 
                            font-weight: 400;  
 | 
                            color: #FFFFFF;  
 | 
                            margin-left: 16rpx;  
 | 
                            display: flex;  
 | 
                            align-items: center;  
 | 
                            justify-content: center;  
 | 
                        }  
 | 
  
 | 
                        .content_list_item_top_left_tag {  
 | 
                            margin-top: 14rpx;  
 | 
                            flex-shrink: 0;  
 | 
                            padding: 5rpx 10rpx;  
 | 
                            background: $nav-stateColor4;  
 | 
                            border-radius: 8rpx;  
 | 
                            font-size: 22rpx;  
 | 
                            font-weight: 400;  
 | 
                            color: #FFFFFF;  
 | 
                            margin-left: 16rpx;  
 | 
                            display: flex;  
 | 
                            align-items: center;  
 | 
                            justify-content: center;  
 | 
                        }  
 | 
                    }  
 | 
  
 | 
                    .content_list_item_top_right {  
 | 
                        font-size: 26rpx;  
 | 
                        font-weight: 400;  
 | 
                        color: #666666;  
 | 
                        flex-shrink: 0;  
 | 
  
 | 
                        .purple {  
 | 
                            color: $nav-color !important;  
 | 
                        }  
 | 
  
 | 
                        .green {  
 | 
                            color: $nav-stateColor6 !important;  
 | 
                        }  
 | 
  
 | 
                        .yellow {  
 | 
                            color: $nav-stateColor1 !important;  
 | 
                        }  
 | 
                    }  
 | 
                }  
 | 
  
 | 
                .content_list_item_content {  
 | 
                    padding: 24rpx 30rpx;  
 | 
                    background: #F7F7F7;  
 | 
                    border-radius: 16rpx;  
 | 
                    display: flex;  
 | 
                    flex-wrap: wrap;  
 | 
                    justify-content: space-between;  
 | 
                    margin-top: 32rpx;  
 | 
  
 | 
                    .content_list_item_content_item {  
 | 
                        width: 50%;  
 | 
                        display: flex;  
 | 
                        margin-top: 24rpx;  
 | 
  
 | 
                        &:nth-child(1) {  
 | 
                            margin-top: 0 !important;  
 | 
                        }  
 | 
  
 | 
                        &:nth-child(2) {  
 | 
                            margin-top: 0 !important;  
 | 
                        }  
 | 
  
 | 
                        .content_list_item_content_item_label {  
 | 
                            font-size: 24rpx;  
 | 
                            font-weight: 400;  
 | 
                            color: #666666;  
 | 
                            flex-shrink: 0;  
 | 
                        }  
 | 
  
 | 
                        .content_list_item_content_item_nr {  
 | 
                            font-size: 24rpx;  
 | 
                            font-weight: 400;  
 | 
                            color: #222222;  
 | 
                            margin-right: 10rpx;  
 | 
                        }  
 | 
                    }  
 | 
                }  
 | 
            }  
 | 
        }  
 | 
    }  
 | 
</style> 
 |