Bläddra i källkod

计算任务生成时间

luojun 2 år sedan
förälder
incheckning
a8d06309b1
1 ändrade filer med 93 tillägg och 32 borttagningar
  1. 93 32
      src/views/resumption/plan/dialog.edit.vue

+ 93 - 32
src/views/resumption/plan/dialog.edit.vue

@@ -29,7 +29,8 @@
             </el-col>
             <el-col :span="6">
               <el-form-item prop="planType" label="计划类型:">
-                <el-select :disabled="isChildren()"
+                <el-select
+                  :disabled="isChildren()"
                   @change="changeData"
                   label="计划类型"
                   v-model="formData.planType"
@@ -46,9 +47,12 @@
                 </el-select>
               </el-form-item>
             </el-col>
+
             <el-col :span="6">
               <el-form-item prop="planCycle" label="履职周期:">
-                <el-select :disabled="isChildren()"
+                <el-select
+                  @change="changeBuildTime"
+                  :disabled="isChildren()"
                   prop="planCycle"
                   label="履职周期"
                   v-model="formData.planCycle"
@@ -63,6 +67,11 @@
                   >
                   </el-option>
                 </el-select>
+                <el-form-item>
+                  <div class="form-item-comment">
+                    下次任务生成时间{{ buildTime }}
+                  </div>
+                </el-form-item>
               </el-form-item>
             </el-col>
             <el-col :span="6">
@@ -83,14 +92,19 @@
                   >
                   </el-option>
                 </el-select> -->
-                <el-switch v-model="formData.planStatus" active-value="1" inactive-value="0"></el-switch>
+                <el-switch
+                  v-model="formData.planStatus"
+                  active-value="1"
+                  inactive-value="0"
+                ></el-switch>
               </el-form-item>
             </el-col>
           </el-row>
           <el-row>
             <el-col :span="6">
               <el-form-item prop="execOrgType" label="履职机构类型:">
-                <el-select :disabled="isChildren()"
+                <el-select
+                  :disabled="isChildren()"
                   label="履职机构类型"
                   v-model="formData.execOrgType"
                   placeholder="请选择履职机构类型"
@@ -109,7 +123,7 @@
             </el-col>
             <el-col :span="6">
               <el-form-item prop="roleList" label="履职角色:">
-                <el-select 
+                <el-select
                   @visible-change="onOrgTypeChanged"
                   :disabled="isChildren()"
                   label="履职角色"
@@ -131,7 +145,8 @@
             </el-col>
             <el-col :span="6">
               <el-form-item prop="planExec" label="履职时间:">
-                <el-select :disabled="isChildren()"
+                <el-select
+                  :disabled="isChildren()"
                   label="履职时间"
                   v-model="formData.planExec"
                   placeholder="请选择履职时间"
@@ -151,7 +166,7 @@
             <el-col :span="6">
               <el-form-item prop="buildTaskNow" label="立即生效:">
                 <el-checkbox
-                :disabled="id ?true:false"
+                  :disabled="id ? true : false"
                   v-model="formData.buildTaskNow"
                   size="medium"
                   @change="handleCheckboxChange"
@@ -160,9 +175,6 @@
               </el-form-item>
             </el-col>
 
-
-
-
             <el-col :span="6">
               <el-form-item prop="count" label="履职次数:" v-if="false">
                 <el-input-number
@@ -178,7 +190,8 @@
             </el-col>
           </el-row>
           <el-form-item prop="note" label="备注">
-            <el-input :disabled="isChildren()"
+            <el-input
+              :disabled="isChildren()"
               v-model="formData.note"
               :maxlength="255"
               clearable
@@ -242,6 +255,7 @@
 </template>
 
 <script>
+import dayjs from "dayjs";
 import { mapGetters } from "vuex";
 import * as api from "@/api/resumption/plan";
 import { statusOptions } from "./../../commonOption";
@@ -262,6 +276,7 @@ export default {
     // let o=statusOptions;
     // debugger
     return {
+      buildTime: null,
       isSubmitting: false,
       defaultSelect: [],
       selectedValues: [],
@@ -342,14 +357,58 @@ export default {
     ...mapGetters(["orgId", "orgName"]),
   },
   methods: {
+    changeBuildTime() {
+      console.log(this.formData.planCycle, "this.formData.planCycle");
+      const dateObj = new Date(); // 获取当前时间对象
+      switch (this.formData.planCycle) {
+        case "2":
+          dateObj.setDate(dateObj.getDate() + 1);
+          const year = dateObj.getFullYear(); // 获取年份
+          const month = String(dateObj.getMonth() + 1).padStart(2, "0"); // 获取月份,并补齐两位数
+          const day = String(dateObj.getDate()).padStart(2, "0"); // 获取日期,并补齐两位数
+          this.buildTime = `${year}-${month}-${day}`; // 将年月日拼接并赋值给变量
+          break;
+        case "3":
+          // 获取下一周的第一天日期
+          const nextWeekFirstDay = dayjs().add(1, "week").startOf("week");
+          // 格式化日期为你想要的格式
+          const formattedNextWeekFirstDay =
+            nextWeekFirstDay.format("YYYY-MM-DD");
+          this.buildTime = formattedNextWeekFirstDay;
+          break;
+
+        case "4":
+          // 获取下个月的第一天日期
+          const nextMonthFirstDay = dayjs().add(1, "month").startOf("month");
+
+          // 格式化日期为你想要的格式
+          const formattedNextMonthFirstDay =
+            nextMonthFirstDay.format("YYYY-MM-DD");
+          this.buildTime = formattedNextMonthFirstDay;
+          break;
+
+        case "5":
+          // 获取下个季度的第一天日期
+          const nextQuarterFirstDay = dayjs()
+          .add(1, "quarter")
+            .startOf("quarter");
+          // 格式化日期为你想要的格式
+          const formattedNextQuarterFirstDay =
+            nextQuarterFirstDay.format("YYYY-MM-DD");
+            console.log(formattedNextQuarterFirstDay,"formattedNextQuarterFirstDay")
+            this.buildTime = formattedNextQuarterFirstDay;
+          break;
+      }
+    },
     //是否子计划判断
-    isChildren(){
+    isChildren() {
       if (
-        this.formData.distributePlanStatus != null||this.id==null ||this.formData.children==null
+        this.formData.distributePlanStatus != null ||
+        this.id == null ||
+        this.formData.children == null
       ) {
         return false;
       } else return true;
-
     },
     //省联社履职内容不能删除
     getshenglianshe() {
@@ -515,22 +574,22 @@ export default {
         roleList: null,
         distributePlanStatus: null,
         planCreateOrgType: null,
-        buildTaskNow:false,
+        buildTaskNow: false,
       };
     },
-    handleCheckboxChange() {
-    },
+    handleCheckboxChange() {},
     getRolesByOrg() {
-      if(this.formData.execOrgType!=null){
-      let params = {
-        orgType: this.formData.execOrgType,
-      };
-      
-      findAllRole(params).then((res) => {
-        // console.info(res);
-        this.resumptionRoles = res.data;
-      });
-    }},
+      if (this.formData.execOrgType != null) {
+        let params = {
+          orgType: this.formData.execOrgType,
+        };
+
+        findAllRole(params).then((res) => {
+          // console.info(res);
+          this.resumptionRoles = res.data;
+        });
+      }
+    },
     handleChange(value) {
       console.log(value);
       this.count = value;
@@ -568,8 +627,6 @@ export default {
       }
     },
     onOrgTypeChanged() {
-     
-      
       this.getRolesByOrg();
     },
     async show(id, other = {}) {
@@ -584,7 +641,6 @@ export default {
           this.tableData = res.data.itemList;
         });
       }
-
       this.isShow = true;
     },
     removeRow(row) {
@@ -631,8 +687,8 @@ export default {
         //新需求,自动填充角色
         if (
           this.formData.roleList != null &&
-          this.formData.roleList.length > 0&&
-          this.selectedValues.length == 0 
+          this.formData.roleList.length > 0 &&
+          this.selectedValues.length == 0
         ) {
           this.formData.roleList.forEach((item) => {
             this.selectedValues.push(item);
@@ -664,4 +720,9 @@ export default {
     padding-top: 40px;
   }
 }
+.form-item-comment {
+  font-size: 12px;
+  color: #999;
+  height: 10px;
+}
 </style>