| <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> |