walter před 1 rokem
rodič
revize
2c2d446585

+ 13 - 0
src/point/views/common/repeatTaskDetailsPopup.vue

@@ -50,6 +50,13 @@
           		<span v-if="workDetailData.task_cycle == '3'">{{workDetailData.task_cycle_mark}}{{ workDetailData.task_cycle_value }}号截止</span>
           	</div>
           </li>
+          <li class="flex-box" v-if="workDetailData.schedule_expire_time">
+            <div class="label">有效日期</div>
+            <div class="content_text" >
+              <span v-if="!isExpire(workDetailData.schedule_expire_time)" >{{workDetailData.schedule_expire_time}}</span>
+              <el-alert v-else :title="workDetailData.schedule_expire_time" type="warning" :closable="false" ></el-alert>
+            </div>
+          </li>
           <li class="flex-box" v-if="workDetailData.department_info">
           	<div class="label">可见范围</div>
           	<div class="content_text" v-if="workDetailData.department_info.length>0">
@@ -151,6 +158,12 @@ export default {
           self.$message.error(e.data.msg);
           self.loading = false;
         });
+    },
+    isExpire(expire_time){
+      if (!expire_time) return false
+      let now = new Date();
+      let expire_date = new Date(expire_time);
+      return now >= expire_date;
     }
   }
 };

+ 38 - 2
src/point/views/common/rewardTask.vue

@@ -75,6 +75,17 @@
             </el-select>
           </el-form-item>
 
+          <el-form-item label="有效日期" prop="schedule_expire_date" v-if="formData.task_cycle !== 0">
+            <el-date-picker
+              v-model="formData.schedule_expire_date"
+              type="date"
+              placeholder="选择日期"
+              format="yyyy-MM-dd"
+              value-format="yyyy-MM-dd"
+            ></el-date-picker>
+            <el-tooltip placement="right" content="设置该选项,到了当该日期不再自动发布悬赏。默认一直重复发布悬赏" style="margin-left: 10px"><span class="tips">?</span></el-tooltip>
+          </el-form-item>
+
           <el-form-item label="任务备注" prop="task_remark" :rules="[{ max: 300, message: '长度不能超过 300 个字'}]">
             <el-input type="textarea" :rows="5" maxlength="300" show-word-limit v-model="formData.task_remark" placeholder="请输入任务内容(限300字)"></el-input>
           </el-form-item>
@@ -127,7 +138,16 @@
 
           <el-form-item>
             <el-button @click="resetForm('formData')">取消</el-button>
-            <el-button type="primary" @click="sub('formData')">提交</el-button>
+            <el-popconfirm
+              confirm-button-text="确定"
+              cancel-button-text="取消"
+              v-if="formData.schedule_expire_date"
+              :title="'重复悬赏将在' + formData.schedule_expire_date + '停止自动发布,是否继续提交?'"
+              @confirm="sub('formData')"
+            >
+              <el-button slot="reference" type="primary">提交</el-button>
+            </el-popconfirm>
+            <el-button v-else type="primary" @click="sub('formData')">提交</el-button>
           </el-form-item>
         </el-form>
       </div>
@@ -182,7 +202,8 @@ export default {
 				timeout_deduction_point_limit: null,
 				ahead_award_point: null,
 				ahead_award_point_limit: null,
-				dept_ids: []
+				dept_ids: [],
+        schedule_expire_date: null
       },
       reviewerName: null,
       reviewer_selected: { dept: [], employee: [] },
@@ -361,6 +382,10 @@ export default {
       }else if(this.formData.task_cycle==3&&this.formData.task_expire_day<=moment().format('D')){
       	is=false
       }
+
+      //没有有效日期就不提交传参
+      if (!data.schedule_expire_date) delete data.schedule_expire_date;
+
       this.$axiosUser('post', self.formData.task_cycle == 0 ? '/api/pro/integral/task/publish' : '/api/pro/integral/schedule/publish/task', data).then(res => {
             this.$message.success(res.data.msg);
             if(this.formData.task_cycle&&is){//是否重复任务
@@ -467,4 +492,15 @@ export default {
   font-size: 14px;
   word-break: break-all;
 }
+.tips {
+  background: #409EFF;
+  border-radius: 50%;
+  width: 14px;
+  height: 14px;
+  color: #fff;
+  display: inline-block;
+  font-size: 12px;
+  line-height: 14px;
+  text-align: center;
+}
 </style>

+ 39 - 3
src/point/views/common/temporaryTask.vue

@@ -56,7 +56,6 @@
               :clearable="false"
             ></el-date-picker>
           </el-form-item>
-
           <el-form-item label="截止日期" prop="task_expire_day" v-if="formData.task_cycle == 1" :rules="[{ required: true, message: '请选择截止日期'}]">
             <el-select v-model="formData.task_expire_day" placeholder="请选择截止日期">
               <el-option v-for="item in columns1" :key="item.value" :label="item.name" :value="item.value"></el-option>
@@ -75,6 +74,17 @@
             </el-select>
           </el-form-item>
 
+          <el-form-item label="有效日期" prop="schedule_expire_date" v-if="formData.task_cycle !==0" >
+            <el-date-picker
+              v-model="formData.schedule_expire_date"
+              type="date"
+              placeholder="选择日期"
+              format="yyyy-MM-dd"
+              value-format="yyyy-MM-dd"
+            ></el-date-picker>
+            <el-tooltip placement="right" content="设置该选项,到了当该日期不再自动发布任务。默认一直重复发布任务" style="margin-left: 10px"><span class="tips">?</span></el-tooltip>
+          </el-form-item>
+
           <el-form-item label="任务备注" prop="task_remark" :rules="[{ max: 300, message: '长度不能超过 300 个字'}]">
             <el-input type="textarea" :rows="5" maxlength="300" show-word-limit v-model="formData.task_remark" placeholder="请输入任务内容(限300字)"></el-input>
           </el-form-item>
@@ -110,7 +120,17 @@
 
           <el-form-item>
             <el-button @click="resetForm('formData')">取消</el-button>
-            <el-button type="primary" @click="sub('formData')">提交</el-button>
+<!--            <el-button type="primary" @click="sub('formData')">提交</el-button>-->
+            <el-popconfirm
+              confirm-button-text="确定"
+              cancel-button-text="取消"
+              v-if="formData.schedule_expire_date"
+              :title="'重复任务将在' + formData.schedule_expire_date + '停止自动发布,是否继续提交?'"
+              @confirm="sub('formData')"
+            >
+              <el-button slot="reference" type="primary">提交</el-button>
+            </el-popconfirm>
+            <el-button v-else type="primary" @click="sub('formData')">提交</el-button>
           </el-form-item>
         </el-form>
       </div>
@@ -176,7 +196,8 @@ export default {
         timeout_deduction_point: null,
         timeout_deduction_point_limit: null,
         ahead_award_point: null,
-        ahead_award_point_limit: null
+        ahead_award_point_limit: null,
+        schedule_expire_date:null
       },
       pickerOptions:{
           disabledDate (time) {
@@ -369,6 +390,10 @@ export default {
       }else if(this.formData.task_cycle==3&&this.formData.task_expire_day<=moment().format('D')){
       	is=false
       }
+
+      //没有有效日期就不提交传参
+      if (!data.schedule_expire_date) delete data.schedule_expire_date;
+
       this.$axiosUser('post', this.formData.task_cycle == 0 ? '/api/pro/integral/work/publish' : '/api/pro/integral/schedule/publish/work', data).then(res => {
           this.$message.success(res.data.msg);
           this.closeDialog();
@@ -454,4 +479,15 @@ export default {
   font-size: 14px;
   word-break: break-all;
 }
+.tips {
+  background: #409EFF;
+  border-radius: 50%;
+  width: 14px;
+  height: 14px;
+  color: #fff;
+  display: inline-block;
+  font-size: 12px;
+  line-height: 14px;
+  text-align: center;
+}
 </style>

+ 11 - 1
src/point/views/workbench/task/my_issue.vue

@@ -152,7 +152,7 @@
       </div>
 
       <div v-if="status == 'repetitive'">
-        <el-table :data="list" style="width: 100%" v-loading="loading" @row-click="repetitiveTasksClick">
+        <el-table :data="list" style="width: 100%" v-loading="loading" :row-class-name="scheduleClassName" @row-click="repetitiveTasksClick">
           <el-table-column label="执行人" prop="target_info" width='250px'>
             <template slot-scope="scope">
               <span v-for="(item,index) in scope.row.target_info" :key="index">
@@ -458,6 +458,12 @@
         }).finally((e)=>{
           self.loading = false
 		})
+      },
+      scheduleClassName({row, rowIndex}){
+        if (!row.schedule_expire_time) return "";
+        let now = new Date();
+        let expire_date = new Date(row.schedule_expire_time);
+        return now >= expire_date ? "schedule-expire" : "";
       }
     }
   }
@@ -520,4 +526,8 @@ $red: #f56c6c;
  /deep/ .el-table tr:hover{
   cursor:pointer
 }
+
+/deep/ .el-table .schedule-expire{
+   background: oldlace;
+ }
 </style>