Преглед на файлове

重复任务/悬赏组件

walter преди 11 месеца
родител
ревизия
eb4cfdddb9
променени са 2 файла, в които са добавени 46 реда и са изтрити 12 реда
  1. 26 6
      src/point/views/common/rewardTask.vue
  2. 20 6
      src/point/views/common/temporaryTask.vue

+ 26 - 6
src/point/views/common/rewardTask.vue

@@ -75,15 +75,20 @@
             </el-select>
           </el-form-item>
 
-          <el-form-item label="有效日期" prop="schedule_expire_date" v-if="formData.task_cycle !== 0">
+          <el-form-item prop="schedule_expire_date" label="有效日期">
             <el-date-picker
               v-model="formData.schedule_expire_date"
               type="date"
               placeholder="选择日期"
               format="yyyy-MM-dd"
               value-format="yyyy-MM-dd"
+              :clearable="true"
+              :default-value="formData.schedule_expire_date"
+              :disabled="formData.task_cycle === 0"
+              @change="scheduleExpireDateChange"
+              @input="scheduleExpireDateInput"
             ></el-date-picker>
-            <el-tooltip placement="right" content="设置该选项,到了当该日期不再自动发布悬赏。默认一直重复发布悬赏" style="margin-left: 10px"><span class="tips">?</span></el-tooltip>
+            <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 个字'}]">
@@ -158,6 +163,8 @@
 <script>
 import moment from 'moment';
 import EmployeeSelector from '@/components/EmployeeSelector';
+import {format} from "echarts/lib/export";
+import {deflateSetHeader} from "pikaz-excel-js/lib/PikazJsExcel.common";
 export default {
   name: 'bonusPoints',
   props: {
@@ -203,7 +210,7 @@ export default {
 				ahead_award_point: null,
 				ahead_award_point_limit: null,
 				dept_ids: [],
-        schedule_expire_date: moment().format('YYYY-MM-DD')
+        schedule_expire_date: '',
       },
       reviewerName: null,
       reviewer_selected: { dept: [], employee: [] },
@@ -294,9 +301,9 @@ export default {
         this.formData.task_expire_day = 1;
       } else {
         this.formData.expire_time = moment().format('YYYY-MM-DD 18:00');
+        this.formData.schedule_expire_date = '';
       }
-      this.formData.schedule_expire_date = moment().format('YYYY-MM-DD');
-    }
+    },
   },
   methods: {
     sub(formName) {
@@ -474,9 +481,22 @@ export default {
     },
     // 部门可见 end
     closeDialog() {
+      this.formData.timeout_deduction_point_limit = null;
+      this.formData.ahead_award_point_limit = null;
       this.resetForm('formData');
       // this.$emit('update:dialogVisible', false)
-    }
+    },
+    scheduleExpireDateChange(v){
+      this.formData.schedule_expire_date = v;
+    },
+    scheduleExpireDateInput(v){
+      //有时日期组件选择日期后change不触发用这个代替
+      this.scheduleExpireDateChange(v)
+      //解决日期选中后页面没有实时渲染选中结果
+      this.$nextTick(()=>{
+        this.$forceUpdate();
+      })
+    },
   }
 };
 </script>

+ 20 - 6
src/point/views/common/temporaryTask.vue

@@ -74,13 +74,18 @@
             </el-select>
           </el-form-item>
 
-          <el-form-item label="有效日期" prop="schedule_expire_date" v-if="formData.task_cycle !==0" >
+          <el-form-item label="有效日期" prop="schedule_expire_date" >
             <el-date-picker
               v-model="formData.schedule_expire_date"
               type="date"
               placeholder="选择日期"
               format="yyyy-MM-dd"
               value-format="yyyy-MM-dd"
+              :clearable="true"
+              :default-value="formData.schedule_expire_date"
+              :disabled="formData.task_cycle === 0"
+              @change="scheduleExpireDateChange"
+              @input="scheduleExpireDateInput"
             ></el-date-picker>
             <el-tooltip placement="right" content="设置该选项,到了当该日期不再自动发布任务。默认一直重复发布任务" style="margin-left: 10px"><span class="tips">?</span></el-tooltip>
           </el-form-item>
@@ -197,7 +202,7 @@ export default {
         timeout_deduction_point_limit: null,
         ahead_award_point: null,
         ahead_award_point_limit: null,
-        schedule_expire_date:moment().format('YYYY-MM-DD')
+        schedule_expire_date:''
       },
       pickerOptions:{
           disabledDate (time) {
@@ -293,16 +298,14 @@ export default {
   components: { EmployeeSelector },
   watch: {
     'formData.task_cycle'(val) {
-
       if (val) {
         this.formData.task_expire_day = 1;
       } else {
         this.formData.expire_time = moment().format('YYYY-MM-DD 18:00');
+        this.formData.schedule_expire_date = '';
       }
-      this.formData.schedule_expire_date = moment().format('YYYY-MM-DD');
     }
   },
-  mounted() {},
   methods: {
     sub(formName) {
       this.$refs[formName].validate(valid => {
@@ -465,7 +468,18 @@ export default {
       this.formData.ahead_award_point_limit= null;
       this.resetForm('formData');
       // this.$emit('update:dialogVisible', false)
-    }
+    },
+    scheduleExpireDateChange(v){
+      this.formData.schedule_expire_date = v;
+    },
+    scheduleExpireDateInput(v){
+      //有时日期组件选择日期后change不触发用这个代替
+      this.scheduleExpireDateChange(v)
+      //解决日期选中后页面没有实时渲染选中结果
+      this.$nextTick(()=>{
+        this.$forceUpdate();
+      })
+    },
   }
 };
 </script>