jiangping
2025-02-18 754f0eea0b16985a4dc8e8448e1bde7a8aec6f26
pda/pages/index/center.vue
@@ -39,7 +39,7 @@
            </view>
            <view class="line" v-else>
               <text class="label">合同单号</text>
               <text class="value">{{ item.contractNum }}</text>
               <text class="value">{{ item.contractNum }}</text>
               <text class="primaryColor" @click="subDetail(item)">预约详情</text>
            </view>
            <view class="line">
@@ -104,7 +104,7 @@
                     </view>
                     <view class="line" v-else>
                        <text class="label">合同单号</text>
                        <text class="value">{{ item.contractNum }}</text>
                        <text class="value">{{ item.contractNum }}</text>
                        <text class="primaryColor" @click="subDetail(item)">预约详情</text>
                     </view>
                     <view class="line">
@@ -182,8 +182,7 @@
         <view class="TransformModal">
            <view class="title">转移月台</view>
            <view class="transform_list">
               <view class="line" @click="transformPlatClick(item)" v-for="item in TransferList"
                  :key="item.id">
               <view class="line" @click="transformPlatClick(item)" v-for="item in TransferList" :key="item.id">
                  <view class="name">{{ item.name  || item.platformName}}</view>
                  <view class="status" :class="{ green: item.workStatus == 1 }">({{ item.workStatus == 0 ? "空闲" : "作业中" }})
                  </view>
@@ -245,10 +244,11 @@
            callType: 1,
            transformPlatId: '', // 转移记录月台id
            transformId: '', // 转移记录任务id
            transformId: '', // 转移记录任务id
            TransferList: [],
            wmsInfo: {},
            timer: null
            wmsInfo: {},
            timer: null,
            timer1: null,
         }
      },
      onLoad() {
@@ -256,20 +256,38 @@
         // setInterval(() => {
         //    this.getPlatformGroup()
         // }, 1000 * 30)
      },
      onHide(){
         if(this.timer1){
            clearInterval(this.timer1)
         }
         if(this.timer){
            clearInterval(this.timer)
         }
      },
      onUnload(){
         if(this.timer1){
            clearInterval(this.timer1)
         }
         if(this.timer){
            clearInterval(this.timer)
         }
      },
      methods: {
         getTransferList() {
            getPlatformGroupList({
               queryData: 1,
               queryType: 1
            }).then(res => {
               const platformGroupList = res.data || []
               if (platformGroupList.length > 0) {
                  const { activePlatformGroup } = this
                  const temp = platformGroupList.find(i => i.id === activePlatformGroup.id)
                  this.TransferList = temp.platformList || []
               }
            })
      methods: {
         getTransferList() {
            getPlatformGroupList({
               queryData: 1,
               queryType: 1
            }).then(res => {
               const platformGroupList = res.data || []
               if (platformGroupList.length > 0) {
                  const {
                     activePlatformGroup
                  } = this
                  const temp = platformGroupList.find(i => i.id === activePlatformGroup.id)
                  this.TransferList = temp.platformList || []
               }
            })
         },
         getPlatformGroup() {
            getPlatformGroupList({
@@ -280,42 +298,57 @@
               if (this.platformGroupList.length > 0) {
                  this.activePlatformGroup = this.platformGroupList[0]
                  if (this.activePlatformGroup.platformList && this.activePlatformGroup.platformList.length > 0) {
                     this.activePlatform = this.activePlatformGroup.platformList[0]
                     this.getPlatformTask()
                     this.timer = setInterval(() => {
                        this.getPlatformTask()
                     this.activePlatform = this.activePlatformGroup.platformList[0]
                     this.getPlatformTask()
                     this.timer = setInterval(() => {
                        this.getPlatformTask()
                     }, 120 * 1000)
                  }
               }
            })
         },
         getPlatformTask() {
         getPlatformTask() {
            if(this.timer1){
               clearInterval(this.timer1)
            }
            getPlatformWorkData({
               platformId: this.activePlatform.id
            }).then(res => {
               this.platformTaskInfo = res.data
               this.circulInitTaskList()
               setInterval(() => {
                  this.circulInitTaskList()
               this.platformTaskInfo = res.data
               this.currentDate = new Date(res.data.currentDate).getTime()
               this.circulInitTaskList()
               this.currentDate = this.currentDate + 1000
               this.timer1 = setInterval(() => {
                  this.circulInitTaskList()
                  this.currentDate = this.currentDate + 1000
               }, 1000)
            }, () => {
            })
            }, () => {})
         },
         circulInitTaskList() {
         circulInitTaskList() {
            let time = this.currentDate
            if (this.platformTaskInfo && this.platformTaskInfo.platformJobList && this.platformTaskInfo.platformJobList
               .length > 0) {
               let time = new Date()
               this.platformTaskInfo.platformJobList.forEach(item => {
                  if (item.newCallDate) {
                     let timeNum = time.getTime() - new Date(item.newCallDate).getTime()
                  if (item.newCallDate) {
                     let timeNum = 0
                     if(time > new Date(item.newCallDate).getTime()){
                        timeNum = time - new Date(item.newCallDate).getTime()
                     }else{
                        timeNum = 0
                     }
                     if (timeNum > 3600000) {
                        item.callDateTemp = dayjs.duration(timeNum).format('H小时m分s秒')
                     } else {
                        item.callDateTemp = dayjs.duration(timeNum).format('m分s秒')
                     }
                  }
                  if (item.newStartDate) {
                     let timeNum = time.getTime() - new Date(item.newStartDate).getTime()
                  if (item.newStartDate) {
                     let timeNum = 0
                     if(time > new Date(item.newStartDate).getTime()){
                        timeNum = time - new Date(item.newStartDate).getTime()
                     }else{
                        timeNum = 0
                     }
                     if (timeNum > 3600000) {
                        item.startDateTemp = dayjs.duration(timeNum).format('H小时m分s秒')
                     } else {
@@ -330,11 +363,11 @@
            const index = e.indexs[0]
            this.activePlatformGroup = this.platformGroupList[index]
            if (this.activePlatformGroup.platformList && this.activePlatformGroup.platformList.length > 0) {
               this.activePlatform = this.activePlatformGroup.platformList[0]
               this.getPlatformTask()
               clearInterval(this.timer)
               this.timer = setInterval(() => {
                  this.getPlatformTask()
               this.activePlatform = this.activePlatformGroup.platformList[0]
               this.getPlatformTask()
               clearInterval(this.timer)
               this.timer = setInterval(() => {
                  this.getPlatformTask()
               }, 60 * 1000)
            }
            this.showPlatformgroup = false
@@ -350,26 +383,30 @@
               this.wmsInfo = res.data
               this.showDetail = true
            })
         },
         subDetail(item) {
            uni.navigateTo({
              url: `/pages/index/SubDetail?id=${item.bookId}`
            })
         },
         subDetail(item) {
            uni.navigateTo({
               url: `/pages/index/SubDetail?id=${item.bookId}`
            })
         },
         handleFinish(item) {
            finishWork({
               jobId: item.id
            }).then(res => {
               this.showToast('完成作业')
               this.getPlatformTask()
                  if (res && res.code == 200) {
                     this.showToast('完成作业')
                     this.getPlatformTask()
                  }
            })
         },
         handleWork(item) { // 开始作业
            beginWork({
               jobId: item.id
            }).then(res => {
               this.showToast('已开始作业')
               this.getPlatformTask()
               if (res && res.code == 200) {
                  this.showToast('已开始作业')
                  this.getPlatformTask()
               }
            })
         },
         handlePass(item) {
@@ -400,18 +437,24 @@
               platformInPark({
                  jobId: item.id,
                  platformId: activePlatform.id
               }).then(res => {
                  this.showToast('叫号成功')
                  this.getPlatformCallList()
               }).then(res => {
                  if (res && res.code == 200) {
                     this.showToast('叫号成功')
                     this.getPlatformCallList()
                  }
               })
            } else { // 月台叫号
               platformCallNumber({
                  platformId: activePlatform.id,
                  jobId: item.id
               }).then(res => {
                  this.showToast('叫号成功')
                  this.getPlatformCallList()
                  this.getPlatformTask()
               }).then(res => {
                  if (res && res.code == 200) {
                     this.showToast('叫号成功')
                     this.getPlatformCallList()
                     this.getPlatformTask()
                  }
               })
            }
         },
@@ -485,7 +528,7 @@
               activePlatform
            } = this
            this.transformId = item.id
            this.transformPlatId = activePlatform.id
            this.transformPlatId = activePlatform.id
            this.getTransferList()
            this.showTransform = true
         },
@@ -508,6 +551,10 @@
   }
</script>
<style lang="scss">
   page {
      background-color: #f1f2f2;
   }
   .main_app {
      padding: 0rpx;
      height: calc(100vh - 44px);
@@ -526,8 +573,8 @@
            .item {
               width: 220rpx;
               height: 80rpx;
               line-height: 80rpx;
               height: 80rpx;
               line-height: 80rpx;
               text-align: center;
               background: #ffffff;
               border-radius: 8rpx;
@@ -536,9 +583,10 @@
               color: #222222;
               margin-bottom: 15rpx;
               margin-right: 15rpx;
               white-space: nowrap;
               overflow: hidden;
               white-space: nowrap;
               overflow: hidden;
               text-overflow: ellipsis;
               &:nth-of-type(3n) {
                  margin-right: 0;
               }
@@ -615,6 +663,7 @@
                  justify-content: center;
                  align-items: center;
                  height: 100%;
                  &:nth-of-type(1) {
                     background: #e9f5f6;
                     padding: 0 12rpx;
@@ -718,7 +767,7 @@
   .PlatformCallModal {
      height: calc(100vh - 44px);
      padding: 30rpx;
      .title {
         text-align: center;
         margin: 0 0 30rpx;
@@ -737,6 +786,7 @@
      .order_list {
         height: calc(100% - 160rpx);
         margin-top: 20rpx;
         .scroll_view {
            height: 100%;
         }
@@ -744,7 +794,8 @@
         .platform_ing {
            border-radius: 8rpx;
            border: 1rpx solid #dfe2e8;
            &:nth-of-type(1){
            &:nth-of-type(1) {
               margin-top: 0;
            }
         }
@@ -903,6 +954,7 @@
      padding: 36rpx 30rpx;
      border-radius: 12rpx;
      box-shadow: 0 0 6rpx rgba(0, 0, 0, 0.5);
      .modal_title {
         font-weight: 600;
         font-size: 32rpx;
@@ -911,37 +963,46 @@
         text-align: center;
         margin-bottom: 36rpx;
      }
      .contract_wrap{
         height: calc( 100% - 400rpx );
      .contract_wrap {
         height: calc(100% - 400rpx);
         overflow-y: auto;
      }
      .contract_list {
         border-top: 1rpx solid #E5E5E5;
         margin-bottom: 30rpx;
         padding-top: 30rpx;
         &:nth-last-child(1){
         &:nth-last-child(1) {
            margin-bottom: 0;
         }
         .list {
            background: #f7f7f7;
            border-radius: 8rpx;
            padding: 20rpx;
            .item{
            .item {
               border-bottom: 1rpx solid #e5e5e5;
               padding-bottom: 20rpx;
               margin-bottom: 20rpx;
               &:nth-last-child(1){
               &:nth-last-child(1) {
                  border: none;
                  padding-bottom: 0;
                  margin-bottom: 0;
               }
            }
            .line {
               display: flex;
               margin-bottom: 20rpx;
               &:nth-last-child(1){
               &:nth-last-child(1) {
                  margin-bottom: 0rpx;
               }
               .label {
                  color: #666666;
                  width: 92rpx;