| <template> | 
|     <view> | 
|         <uni-list class="footer"> | 
|             <uni-list-item direction="column" v-for="item in taskInfo" :key="item.taskNum"> | 
|                 <template v-slot:body> | 
|                     <view class="uni-list-box"> | 
|                         <checkbox @click="click(item)"></checkbox> | 
|                         <view class="uni-content"> | 
|                             <view class="uni-title-sub uni-ellipsis-2">任务号:{{item.taskNum}}</view> | 
|                             <view class="uni-note">托 盘 号:{{item.palletCode}}</view> | 
|                             <view class="uni-note">起     点:{{item.sourceAddress}}</view> | 
|                             <view class="uni-note">终     点:{{item.targetAddress}}</view> | 
|                         </view> | 
|                     </view> | 
|                 </template> | 
|             </uni-list-item> | 
|         </uni-list> | 
|   | 
|         <view style="background-color: #fff; padding: 20rpx,20rpx;" class="customcss"> | 
|             <u-sticky offset-top="80%"> | 
|                 <button type="primary" @click="cancelTask()">取消任务</button> | 
|             </u-sticky> | 
|         </view> | 
|         <u-toast ref="uToast" /> | 
|     </view> | 
| </template> | 
|   | 
| <script> | 
|     export default { | 
|         data() { | 
|             return { | 
|                 taskInfo: [], | 
|                 items: [], | 
|             } | 
|         }, | 
|         onLoad(res) { | 
|             this.getData(); | 
|         }, | 
|         methods: { | 
|             getData() { | 
|                 this.$u.post('/api/Task/GetTaskInfo', null).then((res) => { | 
|                     if (res.status) { | 
|                         this.taskInfo = res.data; | 
|                     } | 
|                 }) | 
|             }, | 
|             cancelTask() { | 
|                 if (this.items.length == 0) { | 
|                     this.$refs.uToast.show({ | 
|                         title: "请选择要取消的数据", | 
|                         type: "error" | 
|                     }); | 
|                     return; | 
|                 } | 
|                 if (this.items.length > 1) { | 
|                     this.$refs.uToast.show({ | 
|                         title: "请选择一条要取消的数据", | 
|                         type: "error" | 
|                     }); | 
|                     return; | 
|                 } | 
|                 var postData = { | 
|                     MainData: { | 
|                         "taskNum": this.items[0].taskNum, | 
|                     }, | 
|                 } | 
|                 this.$u.post('/api/Task/TaskCancel', postData).then((res) => { | 
|                     if (res.status) { | 
|                         this.items = []; | 
|                         this.$refs.uToast.show({ | 
|                             title: "取消成功", | 
|                             type: "success" | 
|                         }); | 
|                         this.getData(); | 
|                     } else { | 
|                         this.$refs.uToast.show({ | 
|                             title: "取消失败" + res.message, | 
|                             type: "error" | 
|                         }); | 
|                     } | 
|                 }) | 
|             }, | 
|             click(e) { | 
|                 if (this.items.find(x => x.taskNum == e.taskNum)) { | 
|                     this.items.map((item, index) => { | 
|                         if (item.taskNum == e.taskNum) { | 
|                             this.items.splice(index, 1); | 
|                         } | 
|                     }) | 
|                 } else { | 
|                     this.items.push(e); | 
|                 } | 
|             } | 
|         } | 
|     } | 
| </script> | 
|   | 
| <style lang="scss"> | 
|     @import '@/common/uni-ui.scss'; | 
|   | 
|     page { | 
|         display: flex; | 
|         flex-direction: column; | 
|         box-sizing: border-box; | 
|         background-color: #efeff4; | 
|         min-height: 100%; | 
|         height: auto; | 
|     } | 
|   | 
|     .tips { | 
|         color: #67c23a; | 
|         font-size: 14px; | 
|         line-height: 40px; | 
|         text-align: center; | 
|         background-color: #f0f9eb; | 
|         height: 0; | 
|         opacity: 0; | 
|         transform: translateY(-100%); | 
|         transition: all 0.3s; | 
|     } | 
|   | 
|     .tips-ani { | 
|         transform: translateY(0); | 
|         height: 40px; | 
|         opacity: 1; | 
|     } | 
|   | 
|     .content { | 
|         width: 100%; | 
|         display: flex; | 
|     } | 
|   | 
|     .list-picture { | 
|         width: 100%; | 
|         height: 145px; | 
|     } | 
|   | 
|     .thumb-image { | 
|         width: 100%; | 
|         height: 100%; | 
|     } | 
|   | 
|     .ellipsis { | 
|         display: flex; | 
|         overflow: hidden; | 
|     } | 
|   | 
|     .uni-ellipsis-1 { | 
|         overflow: hidden; | 
|         white-space: nowrap; | 
|         text-overflow: ellipsis; | 
|     } | 
|   | 
|     .uni-ellipsis-2 { | 
|         overflow: hidden; | 
|         text-overflow: ellipsis; | 
|         display: -webkit-box; | 
|         -webkit-line-clamp: 2; | 
|         -webkit-box-orient: vertical; | 
|     } | 
|   | 
|     .customcss { | 
|         width: 100%; | 
|         height: 140rpx; | 
|         text-align: center; | 
|         position: fixed; | 
|         /*1、【relative】相对定位;2、【absolute】绝对定位;3、【fixed】固定定位;4、【static】默认值;5、【sticky】粘性定位。*/ | 
|         left: 0px; | 
|         /*定位:离页面左边0px的位置*/ | 
|         bottom: 0px; | 
|         /*定位:离页面底部0px的位置*/ | 
|         padding-top: 20rpx; | 
|     } | 
|   | 
|     .footer { | 
|         // padding-top: 20%; | 
|         padding-bottom: 72px; | 
|         background-color: #f1f3f4; | 
|     } | 
| </style> |