didi %!s(int64=4) %!d(string=hai) anos
pai
achega
478a9cb7d4

+ 10 - 0
src/utils/global.js

@@ -42,3 +42,13 @@ export function getAllTime(start, end, noHoliday = true) {
   }
   return NewArr
 }
+
+export function formatHMS() {
+  const data = 60000
+  let time = '--'
+  var hours = parseInt((data % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60))
+  var minutes = parseInt((data % (1000 * 60 * 60)) / (1000 * 60))
+  var seconds = (data % (1000 * 60)) / 1000
+  time = (hours < 10 ? ('0' + hours) : hours) + ':' + (minutes < 10 ? ('0' + minutes) : minutes) + ':' + (seconds < 10 ? ('0' + seconds) : seconds)
+  return time
+}

+ 9 - 0
src/views/projectManage/schedule.vue

@@ -4,6 +4,7 @@
     <div v-if="isSchedule === 0" align="center">是否需要锁定当前{{ name === '需求'? '需求': "任务" }}的排期?</div>
     <div v-if="isSchedule === 1" align="center">
       <el-form ref="numberValidateForm" :model="numberValidateForm" label-width="100px" class="demo-ruleForm">
+        <p class="tip"><i class="el-icon-warning icon" />解锁后,排期将在24小时后自动锁定,请及时完成排期调整</p>
         <el-form-item label="解锁原因" :rules="[{ required: true, message: '解锁原因不能为空'}]">
           <el-select v-model="numberValidateForm.remarkType" style="width:100%;" placeholder="请选择">
             <el-option v-for="(item,index) in scheduleOperateReason" :key="index" :label="item.msg" :value="item.code" />
@@ -134,5 +135,13 @@ export default {
   top: 23px;
   left: 20px;
 }
+.tip {
+  color: #F56C6C;
+  text-align: left;
+  padding: 0 20px;
+  .icon {
+    margin-right:5px;
+  }
+}
 }
 </style>

+ 19 - 0
src/views/projectManage/taskList/taskViewDetail.vue

@@ -190,6 +190,9 @@
                     {{ isScheduleLocked === 1 ? '已锁定' : '未锁定' }}
                   </span>
                 </el-tooltip>
+                <span class="tip">
+                  <i class="el-icon-timer icon" />剩余{{ remainingTime }}
+                </span>
               </div>
             </div>
           </div>
@@ -421,6 +424,7 @@ import { dailyReportCheckStatus, reportreleaseCheckStatus, reportdelivertestChec
 import synchronizeDialog from './dialog/synchronizeDialog' // 同步弹框
 import workflowAndStatus from '@/views/projectManage/components/workflowAndStatus.vue'
 import '@/styles/PublicStyle/index.scss'
+import { formatHMS } from '@/utils/global'
 export default {
   components: {
     searchPeople,
@@ -456,6 +460,7 @@ export default {
   },
   data() {
     return {
+      remainingTime: '23小时23分钟', // 解锁剩余时间
       tabPosition: 'first',
       textarea2: '',
       HoldTask: '',
@@ -523,6 +528,7 @@ export default {
     }
   },
   created() {
+    formatHMS()
     this.analysisBizId_id()
     this.$nextTick(() => {
       this.activeName = this.$route.query.page ? this.$route.query.page : '1'
@@ -1066,6 +1072,18 @@ export default {
 </style>
 
 <style lang="scss">
+.bg-project {
+  .tip {
+    color: #F56C6C;
+    text-align: left;
+    padding: 0 14px;
+    font-size: 12px;
+    .icon {
+      margin-right: 2px;
+    }
+  }
+}
+
 .synchronize {
   .el-popover__title {
     color: #333333;
@@ -1097,4 +1115,5 @@ export default {
   margin: 12px 10px 0 0;
   width: 300px;
 }
+
 </style>